matlab中error(),Matlab初学者的处理错误的过程

对于一个初学matlab的人来说,在学习联系多项式输出过程中运行下面的一个m文件是:

clear

clc

a=[2 3 4 5];

p=poly(a)

px=poly2str([p],'x')

系统提示老师出现错误如下:

p =

1

-14

71

-154

120

??? Error: File: num2str.m Line: 150 Column: 13

"u" previously appeared to be used as a function or command, conflicting with its use

here as the name of a variable.

A possible cause of this error is that you forgot to initialize the

variable, or you have initialized it implicitly using load or eval.

Error in ==> poly2str at 44

s=[s,' ',tvar,'^',num2str(nd-j)];

Error in ==> DUOXIANGSHI at 5

px=poly2str([p],'x')

一般出现错误按照提示修改语句就可以了,但是不知道怎么回事请,显示信息系统的文件怎么会有错误?

经过阅读与分析之后,那是不是输出函数错误呢?问题所在结果是出乎意料!具体怎么找到问题的,分了下面几步骤:

第一步:先使用help功能

>> help num2str.m

NUM2STR Convert numbers to a string.

T = NUM2STR(X) converts the matrix X into a string representation T

with about 4 digits and an exponent if required.

This is useful for

labeling plots with the TITLE, XLABEL, YLABEL, and TEXT commands.

T = NUM2STR(X,N) converts the matrix X into a string representation

with a maximum N digits of precision.

The default number of digits is

based on the magnitude of the elements of X.

T = NUM2STR(X,FORMAT) uses the format string FORMAT (see SPRINTF for

details).

If the input array is integer-valued, num2str returns the exact string

representation of that integer. The term integer-valued includes large

floating-point numbers that lose precision due to limitations of the

hardware.

Example:

num2str(randn(2,2),3) produces the string matrix

'-0.433

0.125'

' -1.67

0.288'

See also int2str, sprintf, fprintf, mat2str.

经过对比分析,自己认为没有出错的地方,既然如此那应该怎么办?

第二步:修改文件num2str.m

既然系统文件有问题,那修改一下自己系统中的文件是不是就可以没有错呢?所以找人发了个函数文件,将其复制到此根目录下C:\MATLAB\R2007a\toolbox\matlab\strfun,最后运行还是提示相同的错误?

第三步:发帖求助

没有办法最后在网站上面发帖求助,谢谢好心人的帮助,但是尝试运行后自己的系统里面还是提示相同的错误,这是什么原因呢?具体的请往下看。

第四步骤:重装软件

既然有人的运行之后,结果是没有错误的,那是不是自己matlab软件有问题呢,所以卸载、重装软件系统,经过一番折腾后,结果还是提示相同的错误?很是失望!那究竟哪里出现问题呢?

第五步:真相大白

经过仔细阅读系统提示的信息,打开num2str.m文件num2str.m Line: 150 Column: 13

是这么一个简单的语句u = u0;那是不是自己保存的文件中有问题呢?所以把与u相关的u.fig与u.m文件删除后,结果运行良好!自己都汗颜了,一个简单的语句可以引出这么多问题,结果运行如下,

p =

1

-14

71

-154

120

px =

x^4 - 14 x^3 + 71 x^2 - 154 x + 120

这个只是一个初学者的处理问题的简单过程与心得,拿出来与大家分享,希望自己可以早点成长起来!并在此向版主问好,希望所有想学习的人都成为高手!

[本帖最后由 mooni 于 2009-5-7 11:08 编辑]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: errorbar函数Matlab用于绘制误差条图的函数。它可以在图形显示数据点的平均值,并用垂直线段表示数据点的标准差或标准误差。使用该函数需要输入数据点的坐标和误差值,可以通过设置参数来控制误差条的样式和颜色。此外,还可以通过设置参数来控制数据点的样式和颜色。errorbar函数的用法详见Matlab官方文档。 ### 回答2: Matlaberrorbar函数是用于绘制带误差线的柱形图的工具。该函数可以用来显示不同类别或组之间的差异和变化,以增加数据的可视性和易读性。 使用该函数需要指定以下参数: 1. X轴坐标值:表示不同类别或组的位置和顺序。 2. Y轴坐标值:表示数据的数值大小。 3. 误差线的长度:表示误差范围的大小。 4. 误差线的类型:可以选择线性误差、对数误差或百分比误差等不同类型。 5. 颜色和线条属性:可以通过指定不同的颜色、线宽和线型来改变误差线的外观。 例如,下面的代码演示了如何使用errorbar函数绘制一个简单的误差柱形图: x = 1:5; % 定义x轴坐标值 y = [3 7 8 2 9]; % 定义y轴坐标值 err = [0.5 0.2 0.8 0.4 0.3]; % 定义误差范围 errorbar(x, y, err, '^--', 'LineWidth',2,'MarkerSize',10,'MarkerEdgeColor',[0.2 0.5 0.9],'Color',[0.2 0.5 0.9]); 该代码将在图形窗口绘制一个带有误差线的柱形图。其,x、y和err参数分别为之前定义的数值,'^--'表示误差线的类型为上下箭头,LineWidth、MarkerSize和MarkerEdgeColor用来改变误差线的外观,Color用来改变柱形图的颜色和边框颜色。 除此之外,还可以通过指定不同的值来改变误差线的方向、计算和显示方式,以适应不同的数据类型和分析需求。使用errorbar函数,可以帮助我们更直观地展示数据的分布和变化,从而更好地发现数据的规律和趋势。 ### 回答3: 在MATLABerrorbar函数是一种用于绘制误差线图的函数。误差线图通常用于展示有关数据点的均值和方差的信息,并且可以用来比较实验结果与理论预期的值之间的差异。 errorbar函数的基本语法如下: ```matlab errorbar(x, y, y_err) ``` 其,x是数据点在x轴上的坐标,y是数据点在y轴上的坐标,y_err是相应数据点的误差值。这三个参数都可以是向量或矩阵。当x和y都是向量时,它们必须具有相同的长度。当y_err是向量时,它必须与x和y的长度相同。如果y_err是矩阵,那么它的列数应该与y的列数相同。 errorbar函数还可以以以下方式调用: ```matlab errorbar(x, y, y_err, 'LineSpec') ``` 其,'LineSpec'是可以选的线属性字符串。可以使用它来指定在误差线使用的线型、颜色和标记。例如: ```matlab errorbar(x, y, y_err, 'r.') ``` 会在误差线使用红色的点线。 除了这些基本参数之外,errorbar函数还可以接受其他一些选项参数,例如: - 'CapSize':设置误差线末端线帽大小(默认值为3)。 - 'LineStyle':设置误差线的线型(默认为'-')。 - 'Color':设置误差线的颜色(默认为蓝色)。 errorbar函数返回一个图形句柄,可以使用它来更改误差线的属性,例如更改其颜色、线宽和标记大小。 总之,通过errorbar函数可以方便地绘制误差线图,并且可以通过设置各种属性进行定制化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值