subs()函数,我也是今天才看到的 subs(a+b,a,2)就是把a+b里面的a用2替换 subs(x/y,y,3)就是把x/y里面的y用3替换
matlab符号运算带入数值进行计算,可以用eval()函数命令.例如:>> syms x>> y=x^2+3*x-5;>> x=4;y=eval(y) y = 23
1、建立自定义函数文件,fcfun.m function y = fcfun(x) y=2*x2、在命令窗口中执行>>fcfun(3) ans = 6 或>> x=2;fcfun(x) ans = 4
你的主要计算时间可能还是消耗在了subs函数上,你可以将subs函数优化哈,或者用C语言写
syms cbxs = (679503*cbx)/10vpa(s)
subs()函数,我也是今天才看到的subs(a+b,a,2)就是把a+b里面的a用2替换subs(x/y,y,3)就是把x/y里面的y用3替换
不能的,符号变量不能构成矩阵或向量进行数值运算. MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件.在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持.
两者的根本区别是 : 数值计算的表达式、矩阵变量中不允许有未定义的自由变量 , 而符号计算可以含有未定义的符号变量.对于一般的程序设计软件如 C, C + + 等语言实现数值计算还可以 , 但是实现符号计算并不是一件容易的事.而 Matlab
题主,你不能这样做.正确的做法是:Ua=1;Ub=10; T=2; K= ( Ub - Ua ) / ( Ua * T ) * 0.01 运行结果
使用double函数就可以了,看下面的例子>> x=sym('5') x = 5 >> class(x)ans =sym>> double(x)ans = 5