作业帮 > 英语 > 作业

英语翻译这是MATLAB报错的内容:The expression to the left of the equals s

来源:学生作业帮 编辑:作业帮 分类:英语作业 时间:2024/11/08 15:06:45
英语翻译
这是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: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
end
end
end