查看: 108|回复: 3|关注: 0

[已解决] 句柄函数循环出问题

[复制链接]

新手

36 麦片

财富积分


050


26

主题

100

帖子

0

最佳答案
直接放代码
  1. clear;clc;
  2. muX=[1;2;3;4];
  3. x=muX;
  4. a=@(x)x(1)+x(2)*x(3)+x(4)*t;
  5. % t=1;
  6. for t=1:2:5
  7. a(x)
  8. end

复制代码
出现错误:未定义函数或变量 't'。
出错 t_study>@(x)x(1)+x(2)*x(3)+x(4)*t

出错 t_study (line 7)
a(x)

做如下修改就可以



  1. clear;clc;
  2. muX=[1;2;3;4];
  3. x=muX;
  4. for t=1:2:5
  5. a=@(x)x(1)+x(2)*x(3)+x(4)*t;

  6. a(x)
  7. end
复制代码
这是什么原因造成的,上面错误代码命名定义了t的啊

论坛优秀回答者

8

主题

946

帖子

128

最佳答案
  • 关注者: 27
发表于 2018-8-9 23:10:10 | 显示全部楼层 |此回复为最佳答案
肯定报错啊,前面你定义的匿名函数内,t既不是输入值,也不是常数(定义语句在t赋值之前)。

新手

36 麦片

财富积分


050


26

主题

100

帖子

0

最佳答案
 楼主| 发表于 2018-8-10 10:52:22 | 显示全部楼层
caicaibi 发表于 2018-8-9 23:10
肯定报错啊,前面你定义的匿名函数内,t既不是输入值,也不是常数(定义语句在t赋值之前)。
...

非常感谢您的耐心解答

新手

5 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
发表于 2018-8-11 20:41:00 | 显示全部楼层
caicaibi 发表于 2018-8-9 23:10
肯定报错啊,前面你定义的匿名函数内,t既不是输入值,也不是常数(定义语句在t赋值之前)。
...

Graph=zeros(1000,1000);
for i=1:t
    for i1=1:t
        if C(i,i1)==1
    for j=1:1000
        if u(j)==x3(i)&&v(j)==y3(i)
           Graph(j,i1)=2;
           Graph(i1,j)=2;

        end
    end
        end
    end
end
程序中红色部分不执行,可以帮我看看吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表