这个matlab 程序应该如何改syms w;md=1700g=8.27*10^7n=10l=10s=zeros(9)%%给矩阵赋值for i=1:9for j=1:9if (j==i-1)s(i,j)=n^2/l^2;elseif (j==i)s(i,j)=md*(w^2)/g-(2*i-1)*(n^2)/i*l^2;elseif (j==i+1)s(i,j)=((n/l)^2)/i;endendends(1,2)=0;s(9,9)=md

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 12:35:55
这个matlab程序应该如何改symsw;md=1700g=8.27*10^7n=10l=10s=zeros(9)%%给矩阵赋值fori=1:9forj=1:9if(j==i-1)s(i,j)=n^2

这个matlab 程序应该如何改syms w;md=1700g=8.27*10^7n=10l=10s=zeros(9)%%给矩阵赋值for i=1:9for j=1:9if (j==i-1)s(i,j)=n^2/l^2;elseif (j==i)s(i,j)=md*(w^2)/g-(2*i-1)*(n^2)/i*l^2;elseif (j==i+1)s(i,j)=((n/l)^2)/i;endendends(1,2)=0;s(9,9)=md
这个matlab 程序应该如何改
syms w;
md=1700
g=8.27*10^7
n=10
l=10
s=zeros(9)
%%给矩阵赋值
for i=1:9
for j=1:9
if (j==i-1)
s(i,j)=n^2/l^2;
elseif (j==i)
s(i,j)=md*(w^2)/g-(2*i-1)*(n^2)/i*l^2;
elseif (j==i+1)
s(i,j)=((n/l)^2)/i;
end
end
end
s(1,2)=0;
s(9,9)=md*w^2/g-(n/l)^2;
s(9,8)= (n/l)^2;
%%解行列式为0的方程,y即未知数w的值
y=solve(det(s))
提示出错为
The following error occurred converting from sym to double:
Error using ==> sym.double
DOUBLE cannot convert the input expression into a double array.
If the input expression contains a symbolic variable,use the VPA function instead.
Error in ==> matlab at 14
s(i,j)=md*(w^2)/g-(2*i-1)*(n^2)/i*l^2;
那这是为什么呀?

这个matlab 程序应该如何改syms w;md=1700g=8.27*10^7n=10l=10s=zeros(9)%%给矩阵赋值for i=1:9for j=1:9if (j==i-1)s(i,j)=n^2/l^2;elseif (j==i)s(i,j)=md*(w^2)/g-(2*i-1)*(n^2)/i*l^2;elseif (j==i+1)s(i,j)=((n/l)^2)/i;endendends(1,2)=0;s(9,9)=md
a=zeros(1,1);
syms w
a(1,1)=w
上面的程序,你试一下就知道了.在matlab中是不能够将一个符号变量赋值给数值矩阵的
你试一下下面的程序
就是把s=zeros(9)一行去掉
syms w;
md=1700
g=8.27*10^7
n=10
l=10
%给矩阵赋值
for i=1:9
for j=1:9
if (j==i-1)
s(i,j)=n^2/l^2;
elseif (j==i)
s(i,j)=md*(w^2)/g-(2*i-1)*(n^2)/i*l^2;
elseif (j==i+1)
s(i,j)=((n/l)^2)/i;
end
end
end
s(1,2)=0;
s(9,9)=md*w^2/g-(n/l)^2;
s(9,8)= (n/l)^2;
%%解行列式为0的方程,y即未知数w的值
y=solve(det(s))

这个matlab 程序应该如何改syms w;md=1700g=8.27*10^7n=10l=10s=zeros(9)%%给矩阵赋值for i=1:9for j=1:9if (j==i-1)s(i,j)=n^2/l^2;elseif (j==i)s(i,j)=md*(w^2)/g-(2*i-1)*(n^2)/i*l^2;elseif (j==i+1)s(i,j)=((n/l)^2)/i;endendends(1,2)=0;s(9,9)=md matlab问题:syms定义的变量怎么取值?比如我定义了syms x,我想让这个x的范围是[0 10]应该怎么表示 matlab程序运行错误 “Z must be a matrix,not a scalar or vector.”syms a b Jm=[1,a,b;2,3,4;6,b,a]MM=det(Jm) [a,b]=meshgrid(-2:0.1:2); surf(a,b,MM);我理解这个错误是说MM是矩阵的意思,这个程序该如何修改才行,而且需要 Matlab程序应该怎么写? kalman滤波的matlab程序应该如何编写?能给我一个参考程序么, matlab 新手,想编一个切比雪夫多项式的程序,但运行不了,到底应该怎么改具体程序是:function T=Chebyshev2(n)syms xT(1:n)=0;T(1)=1;T(2)=x;for i=3:nT(i)=2*x*T(i-1)-T(i-2);endT(n)x=[-pi:0.01:pi];plot(x,T(n))运行结果是: matlab程序请教这个运算过程如何通过matlab用遗传算法的思路实现, MATLAB 中syms Matlab多项式如何表示这个表达式应该如何书写? 我用matlab画冲激函数的图像,为什么不对.程序:syms t;ezplot(dirac(t)) matlab求曲线长度如何编程这个曲线如何使用matlab求长度.t为(0,π/2)曲线长度 matlab如何编程,最好写出matlab程序. matlab 关于 diff用法问题syms t x yx=sin(t);y=diff(x)想求 当t=(0:pi/8:2*pi)时,y(即cos(t)?),y的值程序应该怎么写呢? 请教高手指点,用Matlab求解二元非线性方程的程序 (这个程序运行错误如何改正?)%定义方程function F=myfun(x,R)A=250;c=20;h=1;d=0.08;r=0.10;Ie=0.12;Ip=0.15;t=1/12;a=200;b=2;w=-0.98; syms T p; p=x(1); T=x(2); F=[(a+b 帮我改一下这个matlab程序echo on;syms t w T; g=0.5*(1-cos(2*pi*t/T));G=fourier(g,t,w);f=w/(2*pi);Sv=1/T*2*cos(pi*f*T)^2*abs(G)^2;%求出Sv=2/T*cos(1/2*w*T)^2*abs(-1/2*fourier(cos(2*pi*t/T),t,w)+pi*dirac(w))^2ezplot(f,Sv);最后画图的函数 matlAB中这个程序错在那啊clc;clear; syms x y;>> iy=int((1-(x^2+y^2)^(1/2)),y,-sqrt(1-x^2),sqrt(1-x^2));>> int(iy,x,-inf,inf) 谁能帮我看一下这个Matlab程序哪不对?超简单 clear syms x y={sqrt[1+cos(2*x)]}/[sqrt(π)-sqrt(2*x)]limit(y,x,π/2,'left') matlab中如何给一个未定义的矩阵循环赋予列向量?下面程序要怎么改? matlab中syms什么意思?