MATLAB的M文件分为两种:一种为脚本文件,另一种为函数文件。

脚本文件很简单,就是由一堆命令构成的,里面第一行不是 function 开头,这种文件比如是encrypt.m编写好后直接点F5或者运行键运行就行,不存在出现诸如“未定义函数或变量”的问题;
函数文件就相对复杂一些,第一行为function,比如说像function result=encrypt(n)这样的文件,函数名与文件名是一致的,在命令窗口里输入encrypt(n),n是运行参数,按回车即运行。
注:命令窗口中若想多行输入,每另起一行时按“Shift+Enter”键即可。

目录
问题提出
解决办法
情况一:文件路径与系统当前路径不匹配
情况二:函数名与文件名不一致
情况三:命令窗口中直接写函数名
问题提出
在函数文件中,很可能会出现如下图这样的问题:

在本问题提供解决办法前,整个过程先引入一个实例可以更好地说明这个问题:
例:从键盘输入一个4位数,按如下规则加密后输出。加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。
解:
函数文件:

function result = encrypt(n)
a=fix(n/1000);
b=rem(fix(n/100),10);
c=rem(fix(n/10),10);
d=rem(n,10);
a=rem((a+7),10);
b=rem((b+7),10);
c=rem((c+7),10);
d=rem((d+7),10);
result=c*1000+d*100+a*10+b;
end
1
2
3
4
5
6
7
8
9
10
11
命令窗口:

>> n=input('请输入一个四位整数');
result=encrypt(n)
1
2
运行结果截图:

我们发现:咦?代码明明没问题呀,为什么弹出“未定义函数或变量’encrypt’”这种问题呢。

下面就说明一下这个问题的由来和解决办法:

解决办法
情况一:文件路径与系统当前路径不匹配

大家发现,文件路径是“F:\encrypt.m”,而MATLAB系统路径是“E:\software\MATLAB R2018awin\MATLAB\bin”,很显然文件路径与系统当前路径是不匹配的。这时,我们将我们的M文件(另存为)存储到“E:\software\MATLAB R2018awin\MATLAB\bin”路径下,这时我们惊奇地发现问题解决啦!
简单来讲,要想运行成功,前提是文件路径与系统当前路径必须一致。

情况二:函数名与文件名不一致

这张图就是文件名与函数名不一致的情况,这也会导致“未定义函数或变量’encrypt’”这种问题的出现,解决办法就是把文件名改成“encrypt.m”或者将函数名改为hello(n)即可。这里建议将文件名改为函数名,因为这样你会发现你省去了修改命令窗口中函数名的麻烦。
注:所有的符号必须是英文状态下的喔,不然会报错的。

情况三:命令窗口中直接写函数名

这种情况除非已经在函数文件中定义了函数名才会避免。否则没有函数文件直接写这条命令语句肯定是不可行的。

最后,给出排除了所有报错可能,正确得到运行结果:

————————————————
版权声明:本文为CSDN博主「荣仔!最靓的仔!」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/IT_charge/article/details/105444948

MATLAB中未定义函数或变量”的问题相关推荐

  1. 疑难杂症篇(二)--MATLAB中“未定义函数或变量 ‘bd_asymp‘”问题的解决方案

    使用MATLAB绘制开环对数幅频渐近特性曲线过程中,出现"未定义函数或变量 'bd_asymp'"的问题,下面给出一个参考的解决方案. 展示出现的问题 问题的解决方案 a.在命令行 ...

  2. matlab拟合未定义函数或变量,关于matlab的未定义函数或变量的问题

    1.首先需要知道matlab中查看数据类型函数是class,可以先在命令行窗口中help class.2.在命令行窗口中输入"a=123 class(a)".3.按回车键可以看到变 ...

  3. MATLAB运行提示未定义函数或者变量,MATLAB出现未定义函数或变量

    MATLAB 二元二次函数出图 老是出现错误, xy的个数不同不能计算z值,改为[x,y]=meshgrid(72.00:80.00,65.00:90.00);z=x*pi.*y.*y./100000 ...

  4. 关于MATLAB中M文件如何解决“未定义函数或变量”的若干办法

    MATLAB的M文件分为两种:一种为脚本文件,另一种为函数文件. 脚本文件很简单,就是由一堆命令构成的,里面第一行不是 function 开头,这种文件比如是encrypt.m编写好后直接点F5或者运 ...

  5. matlab中出现未定义函数或变量如何解决?

    A=[0 -1 4;9 -14 25;-34 49 64]; B=zeros(3,3); for i=1:3 for j=1:3 B(i,j)=A(i,j); end end disp(B) 复制j矩 ...

  6. 【已解决】MATLAB未定义函数或变量 ‘wavread‘,以及audioread,audiowrite,wavwrite

    报错 MATLAB未定义函数或变量 'wavread'. 原因 wavread在当前Matlab版本中废弃,需要改成audioread,同理wavwrite也需要改为audiowrite. 注意 在更 ...

  7. MATLAB未定义变量example,小虫求助“ 未定义函数或变量 'Beam_InputData547'。

    小虫刚学习MATLAB,现正在学习<Matlab有限元结构动力学分析与工程应用>,在5.4.3瞬态问题分析.例5.7中按照书本附带的源程序运行提示 未定义函数或变量 'Beam_Input ...

  8. matlab 函数 未定义,matlab一直说我未定义函数或变量x怎么办?

    你有没有给x赋值?没有的话,函数g(x)没法调用参数x就出错了.例如试试:12x = 1:10;g(x)www.mh456.com防采集. 首先你这个函数写的是2113没问题,我感觉你的5261基础不 ...

  9. MATLAB报错:未定义函数或变量解决方案

    MATLAB报错:未定义函数或变量 MATLAB报错:未定义函数或变量 常见错误原因 我的解决方案 MATLAB报错:未定义函数或变量 最近准备数学建模比赛,学习MATLAB入门遇到了个问题:未定义函 ...

最新文章

  1. Python使用matplotlib可视化面积图(Area Chart)、通过给坐标轴和曲线之间的区域着色可视化面积图、在面积图的指定区域添加箭头和数值标签
  2. 聊一聊:拿到年终奖后马上辞职,厚道吗?
  3. Zigbee 获取设备地址信息
  4. Leecode 268. 丢失的数字——Leecode每日一题系列
  5. 链表之单链表的反转总结
  6. 赋能网安生态通信服务器操作系统,紫光展锐打造操作系统生态,赋能万物互联智能时代...
  7. 用uliweb 创建项目
  8. layer 父弹出框上弹出子弹框窗体大小问题
  9. HTML实现简单注册页面
  10. Spring quartz插件的使用
  11. java学生课程设计报告_学生信息管理系统java课程设计报告
  12. Flutter 自定义CheckBox (用于兴趣爱好、风格选择)
  13. 江湖魔头-BugkuCTF平台
  14. 使用 JS 实现页面跳转的几种方式总结,小菜一碟!
  15. kali下经典的ddos攻击软件_kali DOS/DDOS攻击(局域网内)
  16. 更新1 80000字符,自制python小游戏,手写勿喷
  17. JAVASE整理知识点
  18. 计算机网络——IPv4地址概述
  19. 从零开始——Dev-C++调试方法
  20. CQF笔记M2L2优化理论及其在资产组合选择中的应用

热门文章

  1. 禁用vmware虚拟机自动挂起功能
  2. 【腾讯云服务器+PicGo搭建自己的图床】利用腾讯云服务器搭建自己的私人图床
  3. android碎片实验报告,三年级下册科学实验报告模板1篇
  4. P2P网络中的DHT分布式哈希结构
  5. 请登录游戏大厅进行签到
  6. 基于UE -Traffic_ SINR – Statistics — 手机在线视频流量对业务速率、小区容量影响分析
  7. excel中DATE(year,month,day)函数——oracle自定义函数
  8. NDIS笔记---(2)
  9. 鼠标滑轮控制Div水平滚动
  10. HTML+CSS静态网页作业:NBA勒布朗詹姆斯篮球明星带js(5页)