作业帮 > 综合 > 作业

Matlab把符号放进矩阵里要怎么做?xi是个符号,经过运算赋给N1,N2,N3,N4,但是为什么N1,N2,N3,N4

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/07 18:02:34
Matlab把符号放进矩阵里要怎么做?xi是个符号,经过运算赋给N1,N2,N3,N4,但是为什么N1,N2,N3,N4不进Ne
syms uvwtheta
n=1;
Be=zeros(24,6*(3*n+1));
for i=1:6
Ne=zeros(1,24,i);
end
p=zeros(6*(3*n+1),1);
xi=1;
xi1=-1;
xi2=-1/3;
xi3=1/3;
xi4=1;
N1=((xi-xi2)*(xi-xi3)*(xi-xi4))/((xi1-xi2)*(xi1-xi3)*(xi1-xi4));
N2=((xi-xi2)*(xi-xi3)*(xi-xi4))/((xi2-xi1)*(xi2-xi3)*(xi2-xi4));
N3=((xi-xi1)*(xi-xi2)*(xi-xi4))/((xi3-xi1)*(xi3-xi2)*(xi3-xi4));
N4=((xi-xi1)*(xi-xi2)*(xi-xi3))/((xi4-xi1)*(xi4-xi2)*(xi4-xi3));
for i=1:24
Be(i,i)=1;
end
for i=1:6
Ne(1,i,i)=N1;
Ne(1,i+6,i)=N2;
Ne(1,i+12,i)=N3;
Ne(1,i+18,i)=N4;
end
syms uvwtheta-----这干嘛用呢?
xi怎么会是符号呢?明明你赋过值了:xi=1;
所以结果都是数值,没有符号
再问: 噢噢,这个我刚才尝试的时候改了 一开始是sym u v w theta xi %5个符号,一会要用的 xi=1之前没有,也是后加的 谢谢! 我有点明白了,其实xi是个变量,但是这个变量值我现在还不知道,应该怎么做?
再答: 也不是不可以,你的问题在于想把符号对象赋值给double型矩阵,是不行的 这样改,其实最后倒是不用循环的,但你既然这样写了,就算了吧: clear all;clc; syms u v w theta xi n=1; Be=zeros(24,6*(3*n+1)); for i=1:6 Ne=zeros(1,24,i); end Ne=sym(Ne);%加这句!! p=zeros(6*(3*n+1),1); xi1=-1; xi2=-1/3; xi3=1/3; xi4=1; N1=((xi-xi2)*(xi-xi3)*(xi-xi4))/((xi1-xi2)*(xi1-xi3)*(xi1-xi4)); N2=((xi-xi2)*(xi-xi3)*(xi-xi4))/((xi2-xi1)*(xi2-xi3)*(xi2-xi4)); N3=((xi-xi1)*(xi-xi2)*(xi-xi4))/((xi3-xi1)*(xi3-xi2)*(xi3-xi4)); N4=((xi-xi1)*(xi-xi2)*(xi-xi3))/((xi4-xi1)*(xi4-xi2)*(xi4-xi3)); for i=1:24 Be(i,i)=1; end for i=1:6 Ne(1,i,i)=N1; Ne(1,i+6,i)=N2; Ne(1,i+12,i)=N3; Ne(1,i+18,i)=N4; end