matlab如何使用if函数,matlab子函数中if语句不能运行

该博客讨论了在MATLAB中遇到的问题,即在子函数中if语句无法运行,导致'ave'未定义的错误。解决方案是确保在子函数内部正确声明全局变量或将其作为局部变量在函数内定义。通过修改代码,可以避免使用全局变量并简化主函数。
摘要由CSDN通过智能技术生成

matlab子函数中if语句不能运行

mip版  关注:139  答案:3  悬赏:0

解决时间 2021-01-19 15:54

0f297412ac5f514bbb23ad3ec11db157.png

已解决

2021-01-19 07:09

主函数如下:

A=[80,20,100;40,30,30;10,90,60];

global M m ave

M=max(A);

m=min(A);

ave=mean(A);

eta(1,:)=M./sum(M);

eta(2,:)=ave./sum(ave);

eta(3,:)=m./sum(m);

alpha=0;

julei(A)

子函数如下:

function sigma=julei(A)

sigma(3,3)=0;

for i=1:size(A,1)

for j=1:size(A,2)

if A(i,j)>=ave(j)

sigma(i,1)=sigma(i,1)+(A(i,j)-ave(j))/((1+alpha)*M(j)-ave(j))*eta(i,j);

sigma(i,2)=sigma(i,2)+((1+alpha)*M(j)-A(i,j))/((1+alpha)*M(j)-ave(j))*eta(i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值