MATLAB中文论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 421|回复: 13|关注: 0

[已解决] MATLAB教学例题无法运行,为啥

[复制链接]

新手

12 麦片

财富积分


050


1

主题

12

帖子

0

最佳答案
自定义函数:

function my_plot(x,y)
cax = newplot;   % newplot returns handle of current axes
LSO = ['- ';'--';': ';'-.'];
set(cax,'FontName','Times','FontAngle','italic')
set(get(cax,'Parent'),'MenuBar','none')
line_handles = line(x,y,'Color','b');
style = 1;
for i = 1:length(line_handles)
    if style > length(LSO), style = 1;end
    set(line_handles(i),'LineStyle',LSO(style,:))
    style = style + 1;
end
grid on



控制窗口命令:
my_plot(1:10,peaks(10))












新手

12 麦片

财富积分


050


1

主题

12

帖子

0

最佳答案
 楼主| 发表于 2017-8-11 15:04:31 | 显示全部楼层
运行成功告诉我一声,,也算采纳意见

新手

12 麦片

财富积分


050


1

主题

12

帖子

0

最佳答案
 楼主| 发表于 2017-8-11 15:22:46 | 显示全部楼层
:'(运行结果告诉我一声也行。也采纳。不知道和版本有没有关系。

论坛优秀回答者

权威

5731 麦片

财富积分



5

主题

7073

帖子

1313

最佳答案
  • 关注者: 282
发表于 2017-8-11 15:25:10 | 显示全部楼层
peaks(10)返回的是什么结果你知道不?
你直接运行一下peaks(10)或y=peaks(10)看看结果,估计就知道错哪儿了。

新手

12 麦片

财富积分


050


1

主题

12

帖子

0

最佳答案
 楼主| 发表于 2017-8-11 15:27:39 | 显示全部楼层
jingzhaos 发表于 2017-8-11 15:25
peaks(10)返回的是什么结果你知道不?
你直接运行一下peaks(10)或y=peaks(10)看看结果,估计就知道错哪儿了 ...

运行结果
peaks(10)

z =  3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ...
   - 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ...
   - 1/3*exp(-(x+1).^2 - y.^2)

??? Error using ==> findall at 35
Invalid Parameter-value pairs passed to findall.

Error in ==> clo at 49
            kids_to_delete = setdiff(findall(obj,'serializable','on','-depth',1),obj);

Error in ==> cla at 29
clo(ax, extra{:});

Error in ==> newplot>ObserveAxesNextPlot at 125
    cla(ax, 'reset',hsave);

Error in ==> newplot at 74
ax = ObserveAxesNextPlot(ax, hsave);

Error in ==> surf at 88
            cax = newplot(cax);

Error in ==> peaks at 72
    surf(x,y,z)

新手

12 麦片

财富积分


050


1

主题

12

帖子

0

最佳答案
 楼主| 发表于 2017-8-11 15:28:56 | 显示全部楼层
jingzhaos 发表于 2017-8-11 15:25
peaks(10)返回的是什么结果你知道不?
你直接运行一下peaks(10)或y=peaks(10)看看结果,估计就知道错哪儿了 ...

y=peaks(10)

y =

  Columns 1 through 8

    0.0001    0.0013    0.0053   -0.0299   -0.1809   -0.2465   -0.1100   -0.0168
    0.0005    0.0089    0.0259   -0.3673   -1.8670   -2.4736   -1.0866   -0.1602
    0.0004    0.0214    0.1739   -0.3147   -4.0919   -6.4101   -2.7589   -0.2779
   -0.0088   -0.0871    0.0364    1.8559    1.4995   -2.2171   -0.2729    0.8368
   -0.0308   -0.4313   -1.7334   -0.1148    3.0731    0.4444    2.6145    2.4410
   -0.0336   -0.4990   -2.3552   -2.1722    0.8856   -0.0531    2.6416    2.4064
   -0.0137   -0.1967   -0.8083    0.2289    3.3983    3.1955    2.4338    1.2129
   -0.0014   -0.0017    0.3189    2.7414    7.1622    7.1361    3.1242    0.6633
    0.0002    0.0104    0.1733    1.0852    2.6741    2.6725    1.1119    0.1973
    0.0000    0.0012    0.0183    0.1099    0.2684    0.2683    0.1107    0.0190

  Columns 9 through 10

   -0.0008   -0.0000
   -0.0067    0.0000
    0.0131    0.0020
    0.2016    0.0130
    0.4877    0.0301
    0.4771    0.0294
    0.2108    0.0125
    0.0674    0.0030
    0.0152    0.0005
    0.0014    0.0000

论坛优秀回答者

权威

5731 麦片

财富积分



5

主题

7073

帖子

1313

最佳答案
  • 关注者: 282
发表于 2017-8-11 15:31:43 | 显示全部楼层 |此回复为最佳答案

那你的x=1:10,line(x,y)能执行吗?

新手

12 麦片

财富积分


050


1

主题

12

帖子

0

最佳答案
 楼主| 发表于 2017-8-11 15:35:00 | 显示全部楼层
jingzhaos 发表于 2017-8-11 15:25
peaks(10)返回的是什么结果你知道不?
你直接运行一下peaks(10)或y=peaks(10)看看结果,估计就知道错哪儿了 ...

这是书上例题且给出了运行结果的图。不是我编。不明白为什么运行不出来。

新手

12 麦片

财富积分


050


1

主题

12

帖子

0

最佳答案
 楼主| 发表于 2017-8-11 15:38:01 | 显示全部楼层
jingzhaos 发表于 2017-8-11 15:31
那你的x=1:10,line(x,y)能执行吗?

运行出来了。plot和line适用的环境不同吗

新手

12 麦片

财富积分


050


1

主题

12

帖子

0

最佳答案
 楼主| 发表于 2017-8-11 15:39:59 | 显示全部楼层
静夜如歌 发表于 2017-8-11 15:38
运行出来了。plot和line适用的环境不同吗

和书上结果的样式不同
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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