在线等!!求matlab高手帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/18 06:50:38
怎么用matlab求解带参数的方程组,不要数值解,要化成要求量
最后简化方程,能解否?
已知:H,L,l,x,m
求:a
1/2m*v^2=1/2k*x^2
H+l*sin(a)=v*sin(a)*t-1/2g*t^2
L-l*cos(a)=v*cos(a)*t
常数值:H=25cm
l=11cm
x=24.83cm
k=20N/24.83cm
g=9.81m/s^2
m=7.8g

L是输入值,每输入一个值得一个a值
可以暂时取L=35cm,求a

因为我不懂matlab,所以希望能写的详细一些

首先编一个.m文件
l=11,H=25,x=24.83,k=20/24.83,g=9.81,m=7.8
V=sqrt(1/2*k*x^2*2/m)
V
L=input('输入L=')
[a,t]=solve('H+l*sin(a)=v*sin(a)*t-1/2*g*t^2 ','L-l*cos(a)=v*cos(a)*t ')
然后F5运行

输入L=
35
a =

1/2/g*(2*sin(a)*V+2*(sin(a)^2*V^2-2*g*H-2*g*l*sin(a))^(1/2))
1/2/g*(2*sin(a)*V-2*(sin(a)^2*V^2-2*g*H-2*g*l*sin(a))^(1/2))
继续化简的话 要继续用solve,,。。。。比如a =2*(-a*sin(a)-H+a*sin(a)*V)/a^2
不过方程式中始终会有a 和sin(a )
同时存在 所以只能求其数值解

clear
clc
H=25;
l=11;
x=24.83;
k=20/24.83;
g=9.81;
m=7.8;
L=input('输入L=');
syms a v;
a=solve('1/2*m*v^2=1/2*k*x^2','H+l*sin(a)=v*sin(a)*t-1/2*g*t^2','L-l*cos(a)=v*cos(a)*t',a)

函数就是这样了 我用L=35求不出来a的值,求出来是空矩阵 但程序没问题的 会不会是方程有问题 还是要统一国际单位制

sym H L I x m;
1/2m*v^2=1/2k*x^2 ;
solve('H+l*sin(a)=v*sin(a)*t-1/2g*t^2',
'L-l*cos(a)=v*cos(a)*t',a)

找本书看下,