Включите функцию / скрипт Scilab как блок в xcos/scicos

Как видно из заголовка, я хочу включить блок, в котором я могу запустить выражение / функцию / скрипт scilab при определенных входных данных. Я вижу, что xcos/scicos могут включать C, Fortran и Modelica. Есть блок Expression:

но функции довольно ограничены:

sin, cos, tan, exp, log, sinh, cosh, tanh, int, round, ceil, этаж, знак, abs, max, min, asin, acos, atan, asinh, acosh, atanh, atan2, log10.

например, если я хочу решить уравнение второго порядка ax^2+bx+c=d нет sqrt или же power / ^ операторы / функции! В идеале я хочу просто запустить скрипт / функцию Scilab, где я могу иметь полную свободу. Буду признателен, если вы поможете мне узнать, есть ли такой блок в xcos или scicos.

1 ответ

Благодаря Рупаку и Анурадхе из Spoken-Tutorial IIT Bombay я нашел решение. Создайте функцию Scilab как:

function [y1, y2, ...] = myFunction(u1, u2, ...)
    // some commands ...
    yi = function(u1, u2, ...);
endfunction

и сохранить его как myFunction.sci в вашем предпочтительном месте.

Затем выполните функцию один раз (в редакторе) или выполните команду:

exec('path\to\myFunction.sci', -1)

в консоли, так что это будет в памяти Scilab.

Затем используйте функциональный блок Scilab на своей блок-схеме:

Открой Scilab Multiple Values Request двойным щелчком по блоку, Ctrl + B или правой кнопкой мыши и выберите Block Parameters ...:

Здесь вы можете указать размер входных и выходных матриц. Например [1,1;2,3] относится к двум матрицам с 1×1 а также 2×3 размеры. Выбрав OK Scilab Input Value Request откроется:

здесь вы можете поместить функцию, которую вы только что определили y=myFunction(u); или используйте любой другой встроенный синтаксис Scilab. Теперь просто выберите OK четыре раза, пока настройки не будут закончены.

Для более сложного примера вы можете следовать этому руководству YouTube.

Другие вопросы по тегам