以解以上积分方程为例:
matlab 可以解带参数的方程,也就是最后解的的结果可以含有未知参数
syms a f x;%这句话很关键,它定义未知参数的,比如后面w是先给了值的,因此不需要定义为未知参数,而a和x,后面有用到,并且不能给出具体值。
w=1;
f=3*a*w*x*x;
f1=int(f,x,0,x)-6;%这个int是定义积分的关键,f是被积分部分,第一个x是d下角标参数,0是积分下限,x是积分上限,6是等于后面的值。
s=solve(f1,a);%含义为求解f1方程,算出a的值。
disp(s);
结果正确,结果中带有之前用syms定义的未知参数x。
想求
解
含
有
未知
数x2 x3 x4 x6 l5 l6的矩阵
方程
,代码如下:syms x2 x3 x4 x6 l5 l6a=[cosd(-90) sind(-90) 0 -100;-sind(-90)*cosd(90) cosd(-90)*sind(90) sind(90) -60*sind(90);sind(-90)*sind(90) -cosd(-90)*sind(90) cosd(90) -60...
应该前面都没有问题吧。。问题应该在[b,c,t]=solve('u=h','u1=0','a*f1=f2')上。我感觉(未找资料验证)在solve语句中,u和u1等作为符号型变量,它们并没有接受前面那些等式的赋值的。也就是solve里面的u和u1等,是重新定义的,跟前面的没有关系。可以这么验证:(1)在command window中直接输入solve('u=h')结果是ans=h。。。。(2)输入...
编写
方程
代码创建一个函数以编写
方程
代码。此函数应具有签名 dydx = mat4ode(x,y,lambda),其中:x 是自变量。y 是因变量。lambda 是表示特征值的
未知
参数
。您可以用代换法 y1=y 和 y2=y′ 将马蒂厄
方程
写成一阶
方程
组,y1′=y2,y2′=-(λ-2qcos(2x))y1。则对应的函数是function dydx = mat4ode(x,y,lambda) % ...
>> solve('0.15*D*x=(0.1*0.7*(1-(x)/0.5)/(0.02+0.1-(x)/0.5)+0.02)*x','x')
ans =
solve([0.15*x*D == x*((0.14*x - 0.07)/(2.0*x - 0.12) + 0.02)], [x])
>> x=solve([0.15*x*D == x*((0.14*x - 0.07)/(2.0*x - 0.12) + 0.02)], [x])
x ...
最近在复习
MATLAB
方面的知识,突然发现在
解
方程
时,如果自变量在
积分
上限或下限,这样的
方程
不知道怎么求
解
。于是先在网上和
MATLAB
论坛上搜索了一下,发现都没有这样的
解
决方法。在经过一番尝试之后,终于
解
决了这个问题,所以想着分享一下,以免有遇到同样问题的朋友。
其实,利用solve函数就可以
解
决这个问题。例如,我们求
解
下面这个
方程
:
先定义符号变量
添加图片注释,不超过 140 字(可选)
然后进行求
解
编辑切换为居中
添加图片注释,不超过 140 字(可选)
function k1k2k32format longclear allclctspan = [0 6 24 44 68 72 74 92 104 116]';%%这是时间yexp= [3.111,3.639,3.887,4.289,4.658,5.531,6.218,6.979,7.111,7.114]';%%%这是菌落总数x0 = [3.111];k0 = [0.1345 4 37 8...