24小时热门版块排行榜    

查看: 1548  |  回复: 11

xuliumin

金虫 (正式写手)

[求助] matlab代码保存图片出现问题,请大牛帮忙已有1人参与

clc
clear

x=1:100;
y=x.^2+3;
figure,H=plot(x,y,x,2*y);
set(H,'Linestyle','*','Linewidth',1.5);
xlabel('X'); ylabel('Y');
legend('A Figure!')
saveas (H,'H.fig')


报错:
Operands to the || and && operators must be convertible to logical scalar values.

Error in saveas (line 64)
    while ~isempty(h) &&  ~isfigure(h)

Error in experiment (line 10)
saveas (H,'H.fig')

>>


大牛,HELP!!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

FMStation

至尊木虫 (知名作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
xuliumin: 金币+50, ★★★很有帮助, 不是很理解程序。但是程序确实可行。Thank you! 2016-09-25 00:11:59
CODE:
clc
clear
h=figure;
x=rand(1,10);
y=1:10;
h2=plot(x,y,'r',x,y,'g');
set(h2, 'LineWidth', 1.5)
saveas(h, 'test','jpg');

6楼2016-09-24 21:14:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

FMStation

至尊木虫 (知名作家)

【答案】应助回帖

https://www.mathworks.com/matlabcentral/answers/43583-how-to-save-the-plot-with-two-lines

Error Version
CODE:
x=rand(1,10);
y=1:10;
h=plot(x,y,'r',x,y,'g');
saveas(h, 'test','jpg');

Correct version
CODE:
h=figure;
x=rand(1,10);
y=1:10;
plot(x,y,'r',x,y,'g');
saveas(h, 'test','jpg');

4楼2016-09-24 19:18:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

iyx_yao

至尊木虫 (职业作家)

隐形码农

h 是图形窗口,也就是gcf, h2 是坐标轴,gca. 改线型、线宽、坐标之类的都改h2就行。

» 本帖已获得的红花(最新10朵)

寓学于乐
7楼2016-09-25 09:03:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mygt_hit

专家顾问 (职业作家)

引用回帖:
5楼: Originally posted by xuliumin at 2016-09-24 20:56:35
你好,非常感谢你的回帖。只是我现在又出现了一个问题。
clc
clear
h=figure;
x=rand(1,10);
y=1:10;
plot(x,y,'r',x,y,'g');
set(h,'Linewidth',1.5)
saveas(h, 'test','jpg');


当给其加线宽时就报错 ...

句柄错误。h是图形窗口figure的句柄,而不是所画曲线对象的句柄,所以报错。楼下正确的代码在于给出了所画曲线对象的句柄h2,然后可以设置h2的线宽属性值。

» 本帖已获得的红花(最新10朵)

知其然,知其所以然。
8楼2016-09-25 14:11:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

FMStation

至尊木虫 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
GUI Alternative

Use File > Save As on the figure window menu to access the Save As dialog, in which you can select a graphics format.
2楼2016-09-24 18:56:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xuliumin

金虫 (正式写手)

引用回帖:
2楼: Originally posted by FMStation at 2016-09-24 18:56:53
GUI Alternative

Use File > Save As on the figure window menu to access the Save As dialog, in which you can select a graphics format.

I know this method, but I prefer a way using code.
3楼2016-09-24 19:08:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xuliumin

金虫 (正式写手)

引用回帖:
4楼: Originally posted by FMStation at 2016-09-24 19:18:31
https://www.mathworks.com/matlabcentral/answers/43583-how-to-save-the-plot-with-two-lines

Error Version

x=rand(1,10);
y=1:10;
h=plot(x,y,'r',x,y,'g');
saveas(h, 'test','jpg');


Correct v ...

你好,非常感谢你的回帖。只是我现在又出现了一个问题。
clc
clear
h=figure;
x=rand(1,10);
y=1:10;
plot(x,y,'r',x,y,'g');
set(h,'Linewidth',1.5)
saveas(h, 'test','jpg');


当给其加线宽时就报错。是怎么回事啊
5楼2016-09-24 20:56:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xuliumin

金虫 (正式写手)

引用回帖:
8楼: Originally posted by mygt_hit at 2016-09-25 14:11:03
句柄错误。h是图形窗口figure的句柄,而不是所画曲线对象的句柄,所以报错。楼下正确的代码在于给出了所画曲线对象的句柄h2,然后可以设置h2的线宽属性值。...

也就是说figure和curves是两码事诺,要使用两个句柄吧。设置线型,线款要用curves的句柄,而保存图形要用figure的句柄诺。
9楼2016-09-25 16:49:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xuliumin

金虫 (正式写手)

送红花一朵
引用回帖:
7楼: Originally posted by iyx_yao at 2016-09-25 09:03:29
h 是图形窗口,也就是gcf, h2 是坐标轴,gca. 改线型、线宽、坐标之类的都改h2就行。

3q
10楼2016-09-25 16:49:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xuliumin 的主题更新
信息提示
请填处理意见