matlab 我写了一个简短的M 函数,调用时command window中输出了好多中间结果
functiond=squar_d(R)[m,n]=size(R);fori=1:m*nforj=1:m*nd(i,j)=(R(i)-R(j))^2;endend请问,为...
function d=squar_d(R)
[m,n]=size(R);
for i=1:m*n
for j=1:m*n
d(i,j)=(R(i)-R(j))^2;
end
end
请问,为什么调用这个函数时会有如此中间结果输出到屏幕上?我想要的是只给出d的最终结果 展开
[m,n]=size(R);
for i=1:m*n
for j=1:m*n
d(i,j)=(R(i)-R(j))^2;
end
end
请问,为什么调用这个函数时会有如此中间结果输出到屏幕上?我想要的是只给出d的最终结果 展开
1个回答
展开全部
不会有中间结果的,我试了
你应该是把上面程序存储成squar_d.m
然后command window中调用
输入:
>> d = squar_d([1 2 3 4]) %%%% 这里A取[1 2 3 4 ]
d =
0 1 4 9
1 0 1 4
4 1 0 1
9 4 1 0
你应该是把上面程序存储成squar_d.m
然后command window中调用
输入:
>> d = squar_d([1 2 3 4]) %%%% 这里A取[1 2 3 4 ]
d =
0 1 4 9
1 0 1 4
4 1 0 1
9 4 1 0
追问
我是把函数文件名和函数名称写的一样:这是一般的规则;我传递的实参是3-by-3的,中间有好多中间结果,你可以视一下;我为了让其“安静”执行,在每个command后面都加了“;”,到底怎么回事儿啊
追答
我的还是没问题,程序复制你的啊
>> A=magic(3);
>> d = squar_d(A)
d =
0 25 16 49 9 1 4 1 36
25 0 1 4 4 36 9 16 1
16 1 0 9 1 25 4 9 4
49 4 9 0 16 64 25 36 1
9 4 1 16 0 16 1 4 9
1 36 25 64 16 0 9 4 49
4 9 4 25 1 9 0 1 16
1 16 9 36 4 4 1 0 25
36 1 4 1 9 49 16 25 0
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询