早教吧 育儿知识 作业答案 考试题库 百科 知识分享

英语翻译这是MATLAB报错的内容:Theexpressiontotheleftoftheequalssignisnotavalidtargetforanassignment.这是相应的语句:u=zeros(imax,jmax,T);%波场值初始化imax=jmax=101fork=2:Tfori=3:imax-2forj=3:jmax-2m=-1/12

题目详情
英语翻译
这是MATLAB报错的内容:
The expression to the left of the equals sign is not a valid target for an assignment.
这是相应的语句:
u=zeros(imax,jmax,T); %波场值初始化imax=jmax=101
for k=2:T
for i=3:imax-2
for j=3:jmax-2
m=-1/12*(u(i+2,j,k)+u(i-2,j,k))+4/3*(u(i+1,j,k)+u(i-1,j,k))-5/2*u(i,j,k);
n=-1/12*(u(i,j+2,k)+u(i,j-2,k))+4/3*(u(i,j+1,k)+u(i,j-1,k))-5/2*u(i,j,k);
%点是边界的条件是i=1 or i=101 or j=1 or j=101
if ((i=1|i=101)|(j=1|j=101)) //报的是这一行的错,请求你的协助
u(i,j,k+1)=0;
else
u(i,j,k+1)=2*u(i,j,k)-u(i,j,k-1)+(v*t/h)^2*(m+n)+s(i,j)*w(k);
end
%if ((i=1|i=101)|(j=1|j=101))
%k+1 为什么没有溢出?
end
end
end
按照第一个回答进行修改,还是报同一个错误……
可以帮我翻译一下这个 句子吗
▼优质解答
答案和解析
把 if ((i=1|i=101)|(j=1|j=101))【报错行】 改为 if ((i==1||i==101)||(j==1||j==101)) 即可.最终结果为:for k=2:Tfor i=3:imax-2for j=3:jmax-2m=-1/12*(u(i+2,j,k)+u(i-2,j,k))+4/3*(u(i+1,j,k)+u(i-1,j,k))-5/2...
看了 英语翻译这是MATLAB报错...的网友还看了以下: