matlab 结果用参数表示
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/08/18 02:01:19
matlab 结果用参数表示
syms t a b c h;
u=a/(4*3*2*1)*t^4+b/(3*2*1)*t^3+c/(2*1)*t^2
u1=diff(u,1,t)
u2=diff(u,2,t)
f1=(1+(u1*u1))^0.5
g=u2/(((1+u1*u1)^(3/2)))
f2=diff(g,2,t)
[b,c,t]=dsolve('u1=h','h2=0','a*f1=f2')
跪求各位大侠帮忙啊就是上述3个方程组 3个位置变量联立 用a和h表示出来即可,不知道哪里错了,就是算不出解啊
[b,c,t]=solve('u=h','u1=0','a*f1=f2') 最关键的地方写错了,是这个,可还是不行啊
syms t a b c h;
u=a/(4*3*2*1)*t^4+b/(3*2*1)*t^3+c/(2*1)*t^2
u1=diff(u,1,t)
u2=diff(u,2,t)
f1=(1+(u1*u1))^0.5
g=u2/(((1+u1*u1)^(3/2)))
f2=diff(g,2,t)
[b,c,t]=dsolve('u1=h','h2=0','a*f1=f2')
跪求各位大侠帮忙啊就是上述3个方程组 3个位置变量联立 用a和h表示出来即可,不知道哪里错了,就是算不出解啊
[b,c,t]=solve('u=h','u1=0','a*f1=f2') 最关键的地方写错了,是这个,可还是不行啊
![matlab 结果用参数表示](/uploads/image/z/19976996-20-6.jpg?t=matlab+%E7%BB%93%E6%9E%9C%E7%94%A8%E5%8F%82%E6%95%B0%E8%A1%A8%E7%A4%BA)
应该前面都没有问题吧.
问题应该在[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)输入solve('p*sin(x) = r'),也能求解,而不需在前面定义p、x和r,这说明是在solve中定义的符号变量. . 这两点大体上验证了我前面的感觉.
这个问题应该有比较科学的解决方式,可惜我不会.只提供一种最简单、最“野蛮”的的解决方式了:既然不能在solve中用u和u1等代替前面的表达式,那只能直接把表达式写入solve中了. . 相应的表达式可以从前面的语句中计算出来,直接copy进去就是了(确实有点长).
我放进去后程序如下:
syms t a b c h,;
u=a/(4*3*2*1)*t^4+b/(3*2*1)*t^3+c/(2*1)*t^2;
u1=diff(u,1,t);
u2=diff(u,2,t);
f1=(1+(u1*u1))^0.5;
g=u2/(((1+u1*u1)^(3/2)));
f2=diff(g,2,t);
%[b,c,t]=solve('u-h','u1=0','a*f1-f2','b,c,t');
[b,c,t]=solve('a/(4*3*2*1)*t^4+b/(3*2*1)*t^3+c/(2*1)*t^2-h','1/6*a*t^3+1/2*b*t^2+c*t','a*(1+(1/6*a*t^3+1/2*b*t^2+c*t)^2)^(1/2)-a/(1+(1/6*a*t^3+1/2*b*t^2+c*t)^2)^(3/2)-9*(a*t+b)/(1+(1/6*a*t^3+1/2*b*t^2+c*t)^2)^(5/2)*(1/6*a*t^3+1/2*b*t^2+c*t)*(1/2*a*t^2+b*t+c)+15*(1/2*a*t^2+b*t+c)^3/(1+(1/6*a*t^3+1/2*b*t^2+c*t)^2)^(7/2)*(1/6*a*t^3+1/2*b*t^2+c*t)^2-3*(1/2*a*t^2+b*t+c)^3/(1+(1/6*a*t^3+1/2*b*t^2+c*t)^2)^(5/2)','b,c,t')
要特别注意,最后的[b,c,t]=...这个式子后面一长串在matlab语句窗口中要整理到一行,不然会出错.(我忘了如何分行写长命令)).还有那个长表达式,还不知道有没有搞错,我眼花了.
最后的结果:
b =
[ -2/3*a*6^(1/2)*(2^(1/2)*(h/a)^(1/2))^(1/2)]
[ 2/3*a*6^(1/2)*(2^(1/2)*(h/a)^(1/2))^(1/2)]
[ -2/3*i*a*6^(1/2)*(2^(1/2)*(h/a)^(1/2))^(1/2)]
[ 2/3*i*a*6^(1/2)*(2^(1/2)*(h/a)^(1/2))^(1/2)]
c =
[ a*2^(1/2)*(h/a)^(1/2)]
[ a*2^(1/2)*(h/a)^(1/2)]
[ -a*2^(1/2)*(h/a)^(1/2)]
[ -a*2^(1/2)*(h/a)^(1/2)]
t =
[ 6^(1/2)*(2^(1/2)*(h/a)^(1/2))^(1/2)]
[ -6^(1/2)*(2^(1/2)*(h/a)^(1/2))^(1/2)]
[ i*6^(1/2)*(2^(1/2)*(h/a)^(1/2))^(1/2)]
[ -i*6^(1/2)*(2^(1/2)*(h/a)^(1/2))^(1/2)]
问题应该在[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)输入solve('p*sin(x) = r'),也能求解,而不需在前面定义p、x和r,这说明是在solve中定义的符号变量. . 这两点大体上验证了我前面的感觉.
这个问题应该有比较科学的解决方式,可惜我不会.只提供一种最简单、最“野蛮”的的解决方式了:既然不能在solve中用u和u1等代替前面的表达式,那只能直接把表达式写入solve中了. . 相应的表达式可以从前面的语句中计算出来,直接copy进去就是了(确实有点长).
我放进去后程序如下:
syms t a b c h,;
u=a/(4*3*2*1)*t^4+b/(3*2*1)*t^3+c/(2*1)*t^2;
u1=diff(u,1,t);
u2=diff(u,2,t);
f1=(1+(u1*u1))^0.5;
g=u2/(((1+u1*u1)^(3/2)));
f2=diff(g,2,t);
%[b,c,t]=solve('u-h','u1=0','a*f1-f2','b,c,t');
[b,c,t]=solve('a/(4*3*2*1)*t^4+b/(3*2*1)*t^3+c/(2*1)*t^2-h','1/6*a*t^3+1/2*b*t^2+c*t','a*(1+(1/6*a*t^3+1/2*b*t^2+c*t)^2)^(1/2)-a/(1+(1/6*a*t^3+1/2*b*t^2+c*t)^2)^(3/2)-9*(a*t+b)/(1+(1/6*a*t^3+1/2*b*t^2+c*t)^2)^(5/2)*(1/6*a*t^3+1/2*b*t^2+c*t)*(1/2*a*t^2+b*t+c)+15*(1/2*a*t^2+b*t+c)^3/(1+(1/6*a*t^3+1/2*b*t^2+c*t)^2)^(7/2)*(1/6*a*t^3+1/2*b*t^2+c*t)^2-3*(1/2*a*t^2+b*t+c)^3/(1+(1/6*a*t^3+1/2*b*t^2+c*t)^2)^(5/2)','b,c,t')
要特别注意,最后的[b,c,t]=...这个式子后面一长串在matlab语句窗口中要整理到一行,不然会出错.(我忘了如何分行写长命令)).还有那个长表达式,还不知道有没有搞错,我眼花了.
最后的结果:
b =
[ -2/3*a*6^(1/2)*(2^(1/2)*(h/a)^(1/2))^(1/2)]
[ 2/3*a*6^(1/2)*(2^(1/2)*(h/a)^(1/2))^(1/2)]
[ -2/3*i*a*6^(1/2)*(2^(1/2)*(h/a)^(1/2))^(1/2)]
[ 2/3*i*a*6^(1/2)*(2^(1/2)*(h/a)^(1/2))^(1/2)]
c =
[ a*2^(1/2)*(h/a)^(1/2)]
[ a*2^(1/2)*(h/a)^(1/2)]
[ -a*2^(1/2)*(h/a)^(1/2)]
[ -a*2^(1/2)*(h/a)^(1/2)]
t =
[ 6^(1/2)*(2^(1/2)*(h/a)^(1/2))^(1/2)]
[ -6^(1/2)*(2^(1/2)*(h/a)^(1/2))^(1/2)]
[ i*6^(1/2)*(2^(1/2)*(h/a)^(1/2))^(1/2)]
[ -i*6^(1/2)*(2^(1/2)*(h/a)^(1/2))^(1/2)]
区间型参数如何用MATLAB表示
matlab jacobian函数参数为符号表示?
对matlab计算出的结果表示
Matlab新手,怎么样可以让matlab 输出的结果不用分数表示,而是用小数表示呢?
matlab中函数输入参数如何表示矩阵
matlab用遗传算法求参数
怎么用matlab求函数参数
用matlab解含参数方程组
随一个参数的取值不同,另一个参数的取值的表达式就不同,这怎么用matlab表示?
matlab 求解带参数的方程,目的是用c表示x,y,求大神指导……代码如下
用MATLAB表示函数
matlab中用solve函数求方程解,结果是个表达式,然后我带入参数的值,用subs求的结果怎么有很多个?