我正在努力将代码从MATLAB转换为scilab,包括在这里。
在MATLAB中,@符号用作指向函数tst_callback位置的内存指针。
然而,Scilab并不喜欢这样。是否有与@等效的scilab
function test
sysIDgui(@tst_callback)
end
function tst_callback()
disp("Hello Ron")
endfunction
注意:我使用了Matlab标签,以防它们保持相同的精度。(据我所知,这两个程序非常相似。)
作为对我之前的一个问题()的后续,我试图确定我需要设置的精度级别(在我目前正在从Scilab代码转换的C++程序中),以模拟Scilab程序的准确性。本质上,这两个程序产生相同(或非常相似)的结果。
在使用Scilab计算浮点计算时,所维护的精度是多少?
我曾经读过(和其他几个地方),当使用C++中的浮点算术时,双数只能精确地保持在小数点16位左右,例如:
4 8 12 16
v v v v
0.947368421052631578 long double
0.9
我试图把这个脚本从matlab转换成scilab。我尝试了scilab工具的转换,但它崩溃,没有输出,所以我做手工。这就是我通过将注释从%更改为//得到的结果。@markovprocessfunc指的是我能够用scilab自动工具转换的另一个文件。
// Markovprocess
// Main program of the markovprocess simulation
// The system is defined by the generator matrix A
// Ulf Jeppsson, January 2017
global B
// Define the dura
我是Scilab的新手,我正在尝试编写一个简单的函数并调用它。
如何在任意目录中的.sci文件中编写函数,然后调用它?MATLAB会自动执行此操作。我读过很多关于使用"Execute->Load into scilab“和getf的帖子,但在我的Scilab版本(5.3.3)中都没有。那么我到底该怎么做呢?
我正在尝试解决一本书中的一些例子,这些例子是用Scilab的MATLAB代码编写的。
num = [1 0];
den = [1 14 56 160];
[A,B,C,D] = tf2ss(num,den)
我尝试在Scilab中复制它,但得到以下错误:
Wrong number of output arguments
如何在Scilab中使用这个Octave/Matlab内嵌函数?
u = inline('t>=0') where t=0:0.001:1.
y = (u(t-0.2)-u(t-0.3))
我在Scilab试过
deff('[u]=f(t)','u=(t>=0)')
但是,在确定'y‘时,我得到了一个“无效索引”错误。
我正在写一个微分方程的模拟。我的想法如下:
1. Write the core simulation (moving forward in time, takes a lot of time) in C++
2. Do initialisation and the analysis of the results with a program
like Matlab/Scilab
(1)的原因是,如果实现正确,C++会更快。
(2)的原因是,对我来说,用Matlab这样的程序更容易进行分析,比如绘图等等。
可以这样做吗,我如何从Matlab调用C++?或者你有什么不同的建议去做这件事?
我是Scilab的新手,但我有MatLab和Octave的经验。我刚刚开始编写自定义函数,当我试图将它们加载到Scilab中时,我得到了以下错误。
!--error 10000
listvarinfile: Wrong variable type (1.686D+08) found in '<pathname>\test.sci'. File may be wrong or corrupted.
at line 50 of function listvarFunction called by :
at line 29 of function