matlab 把syms里数值简化
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 01:01:35
需要函数值计算时候,不要把函数表示成符号函数样式,可以改成如下匿名函数表示,然后就可以调用.f=@(x)x^3+2*x^2+10*x-20;d=@(x)3*x^2+4*x+10;x2=1.5;x1=1
=eval(x)
syms是定义符号变量sym是将字符或者数字转换为字符比如symsxy%就是定了符号变量xy以后xy就可以直接使用了,有他们运算出来的结果也是符号变量当然上面的也可以x=sym('x'),y=sym(
举个例子symxxyy=3*x;x=0:0.01:2;y=eval(y);plot(x,y)
恩是定义变量的,而且一般是定义多个变量时候用syms
很遗憾,matlab无法定义整数变量!
还是把全部的发来我给你调吧.你贴出来的不完整.
可能你已经自己建立了一个函数,命名为syms了,找到他,去掉或者改个名字
什么情况呢?这是个什么图?难道是我画错了?你先看看,如果有问题,再说,如果没问题,我再考虑标极值点的问题.clearall;clc;fi=@(a,b)1600*cot(b).*(1+1./sin(b)
当然可以,只不过在你的函数里面应该知道参数是什么类型,并做适当的处理.MATLAB的函数参数可以是任何MATLAB数据类型,包括对象,而syms定义的就是对象.
记该函数为f,用eval语句完整代码如下symsxx;f=-(390625*xx*(xx-1)*(xx+1)*(xx-1/5)*(xx+1/5)*(xx-2/5)*(xx+2/5)*(xx-3/5)*
要先定义变量吧
clear;symsx1x2;s=3*x1-x2-2;x1=2;x2=3;>>subs(s,'x1,x2',{x1,x2})%用subs替换ans=1再问:出错了呀再答:将上面4行代码一起执行,Mat
a=sprintf('%.2f',10736865691775629/549755813888)b=sprintf('%.2f',-94400051914681359/549755813)y=-600
定义一个符号变量:symsx定义一个符号变量x后续可以做一些符号操作,如:p=x^2+3*x-2;diff(p,x)%p对x求导
positive是假设你定义的这几个符号变量是正数
查一下MATLAB安装路径的toolbox里是不是没有SymbolicToolbox如果你的MATLAB版本是R2009,并且是64位,那么MATLAB的安装文件是不带有这个SymbolicToolb
有点奇怪,你通过sym2poly得到了数值型的系数矩阵coeff,然后又怎么会得到sym类型的零点呢? 如果zeropoint是数值类型,可以改为disp(['在',mat2
用合并同类项命令:>>symsk>>collect((6.4*k-0.5992)*(k-3.41)+24.39)ans=(32*k^2)/5-(28029*k)/1250+3304159/125000
这个结果没什么问题啊. 对sin(2*(b-a))进行不定积分int(sin(2*(b-a)),a),得到1/2*cos(-2*b+2*a),使用牛顿-莱布尼兹公式,分别代入a=0和a=b,