声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1153|回复: 8

[综合讨论] 为什么每次程序运行后都说第一个变量没定义?应该如何改正啊?

[复制链接]
发表于 2007-4-23 22:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我运行了一些现有的程序
但是为什么每次程序运行后都说第一个变量没定义?
请问应该如何改正啊?
谢谢了
回复
分享到:

使用道具 举报

发表于 2007-4-23 23:15 | 显示全部楼层



请先按照置顶贴:聚宝盆的说明把你的问题整理并叙述清楚,否则这样子根本无人帮到你
 楼主| 发表于 2007-4-24 09:52 | 显示全部楼层
为什么每次程序运行后都说第一个变量没定义?如下面所示:
??? Input argument "data" is undefined.

Error in ==> svda at 72
[dim,num_data] = size(data.x);
下面的是提示出错的源程序:
[dim,num_data] = size(data.x);
nclass = max(data.y);
if ~isfield(options,'new_dim'), options.new_dim = min(dim,nclass); end
请问问题出在哪里啊?
应该如何改正?
谢谢了
发表于 2007-4-24 09:55 | 显示全部楼层
原帖由 fige 于 2007-4-24 09:52 发表
为什么每次程序运行后都说第一个变量没定义?如下面所示:
??? Input argument "data" is undefined.

Error in ==> svda at 72
[dim,num_data] = size(data.x);
下面的是提示出错的源程序:
[dim,num_da ...



请阅读精华贴:“[原创]写给学习 matlab 的新手们"里面的技巧6,看有否收获。如果你确定不是这个原因造成的,那么,请把语句:[dim,num_data] = size(data.x); 之前的代码贴上来,特别是与 data 相关的语句
 楼主| 发表于 2007-4-24 11:14 | 显示全部楼层
好的
谢谢了
 楼主| 发表于 2007-4-24 12:07 | 显示全部楼层
6. 如果你编写的函数带有输入参数(例如 x ),则跟其他语言一样,这只是形式参数,所以不能通过直接运行该函数(或者m文件)来测试,这样会出现 ??? Input argument "x" is undefined. 的错误。一定要从其他地方(如命令窗口或者其他函数对其调用)来传递真实值,此时 x 才是实际参数。

上面是我从精华贴那里复制过来的
不过最后的解决方法我还是看得不大明白
请问在命令窗口怎样才能传递参数的真实值?
发表于 2007-4-24 12:22 | 显示全部楼层
原帖由 fige 于 2007-4-24 12:07 发表
6. 如果你编写的函数带有输入参数(例如 x ),则跟其他语言一样,这只是形式参数,所以不能通过直接运行该函数(或者m文件)来测试,这样会出现 ??? Input argument "x" is undefined. 的错误。一定要从其他地 ...



如果你有C语言的编程经验,命令窗口就相当于main函数;如果没有,以下是举例:
myPlus.m
  1. function d = myPlus(a,b)
  2. d = a + b;
复制代码


命令窗口:

  1. >> x = 2;
  2. >> y = 5;
  3. >> z = myPlus(x,y)
复制代码
 楼主| 发表于 2007-4-24 12:55 | 显示全部楼层
好的
我明白了
多谢指教
发表于 2007-4-24 13:06 | 显示全部楼层
呵呵 我一开始也老是犯这样的错误
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-12 22:50 , Processed in 0.060863 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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