作业帮 > 综合 > 作业

有关matlab的sum函数问题,其中sum(x,y)的表示方法是什么意思?急用

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/09 07:17:33
有关matlab的sum函数问题,其中sum(x,y)的表示方法是什么意思?急用
n=10;
z = zeros(n,n);
cells = z;
cells(n/2,.25*n:.75*n) = 1;
cells(.25*n:.75*n,n/2) = 1;
x = 2:n-1;
y = 2:n-1;
sum(x,y) = cells(x,y-1) + cells(x,y+1) + ...
cells(x-1,y) + cells(x+1,y) + ...
cells(x-1,y-1) + cells(x-1,y+1) + ...
cells(x+1,y-1) + cells(x+1,y+1);
有关matlab的sum函数问题,其中sum(x,y)的表示方法是什么意思?急用
首先:cells(n/2,.25*n:.75*n) = 1;cells(.25*n:.75*n,n/2) = 1;---------
这两句有问题,行、列标志非整数
改了一下:
cells(n/2,round(0.25*n:0.75*n))=1;
cells(round(0.25*n:0.75*n),n/2)=1;
>> x
x =
2 3 4 5 6 7 8 9
>> y
y =
2 3 4 5 6 7 8 9
cells(x,y-1)----表示cells的第2-9行,第1-8列的元素
cells(x,y+1)---表示cells的第2-9行,第3-10列的元素
cells(x-1,y)---表示cells的第1-8行,第2-9列的元素
cells(x+1,y)---表示cells的第3-10行,第2-9列的元素
后面的都类似.
再问: 那个不是整数的它会自动四舍五入的,cells表示的内容也知道,我要问的是sum(x,y)这样的用法表示的是什么??我运行了一下,只是运行sum(x,y)会出错,加上等号后面的内容才能运行成功。所以我想知道这样表示是什么意思
再答: 你是说只运行sum(x,y)? sum就是你定义的一个矩阵,这一句是是赋值语句 就是把等号右面的计算值赋值给sum的第2-9行,第2-9列的元素
再问: 就那整个程序运行的时候,我把sum改成了s后,两次运行的结果不一样的,sum对应的是9维方阵,s对应的是3维方阵
再答: 不会的,你看: clear all;clc; n=10; z=zeros(n,n); cells=z; cells(n/2,round(0.25*n:0.75*n))=1; cells(round(0.25*n:0.75*n),n/2)=1; x=2:n-1;y=x; s(x,y)=cells(x,y-1)+cells(x,y+1)+cells(x-1,y)+cells(x+1,y)... +cells(x-1,y-1)+cells(x-1,y+1)+cells(x+1,y-1)+ cells(x+1,y+1); >> s s = 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 2 1 2 0 0 0 0 1 2 5 4 5 3 2 1 0 1 1 4 4 4 2 1 1 0 1 2 5 4 5 3 2 1 0 0 0 3 2 3 0 0 0 0 0 0 2 1 2 0 0 0 0 0 0 1 1 1 0 0 0