搜索 问答 Rules & Tips
1. 遵守中国大陆相关法律法规
2. 在虫部落的提问准则
3. 禁止发布代下载类求助信息
4. 特别提倡抛砖引玉的问题
5. 扩展阅读:提问的智慧

有没有会 MATLAB 的大神呀?小弟求教

查看: 2685|回复: 5
rocky 发表于 2021-1-28 20:46:19
此MATLAB欲实现


程序需要实现的功能:只要输入任意给定的a、p0和p的值,就可以输出当r取不同的值时两个值。
例如:采用上面编辑的程序,输入a=5m,b=+∞,po=5MPa,p=0.3MPa,请提取计算得到的数据

此方程式

此方程式



界面设计相关控件

2.png


输入值超过10 以后报错
以下是代码:

a=get(handles.edit1,'String');% a
c=get(handles.edit3,'String');% p
d=get(handles.edit4,'String');% p0
e=get(handles.edit5,'String');% r
y1=d+(c-d).*(a./e).^2;
y2=d-(c-d).*(a./e).^2;
set(handles.edit6,'String',y1);
set(handles.edit7,'String',y2);


通过guide  创建几个输入输出的控件,但edit5 输入值超过10 就报错,还有其他的值过大也会说:警告: 单行编辑控件不能有多行文本
新手小白  求求多多指教
 楼主| rocky 发表于 2021-1-28 21:07:34
顶一下
要是大家有相关的MATLAB的案例教程  也可给我引一下  我自己学  照葫芦画瓢   感谢大家
Risky_JR 发表于 2021-1-28 22:18:43
看了一下你提的问题,
1.没有完整的代码,个人能力有限未能帮你找到现有代码报错原因,分析可能是get获取属性导致的问题;
2.用了uifigure的方式实现了一个小demo,除此之外强烈推荐matlab的appdesigner。Matlab代码
clc;
f = uifigure('name','uipa');
edit_ai = uilabel(f,'Position',[10 380 40 20],'Text','内径a');
edit_bi = uilabel(f,'Position',[10 300 80 80],'Text','edit_a 值');
edit_a = uieditfield(f,'numeric','Position',[50,380,40,20],...
    'ValueChangedFcn',@(edit_a,event) textChanged(edit_a,edit_bi));


function textChanged(edit_a,edit_bi)
edit_bi.Text = num2str(edit_a.Value);
end

3.推荐在matlab命令行输入docsearch XXX 查阅相关详细文档说明,
如:
>> docsearch uifigure  % 查找uifigure文档
>> docsearch appdesigner % 查阅appdesigner文档




 楼主| rocky 发表于 2021-1-29 18:03:45
Risky_JR 发表于 2021-1-28 22:18
看了一下你提的问题,
1.没有完整的代码,个人能力有限未能帮你找到现有代码报错原因,分析可能是get获取属 ...

大神,嗯嗯  感谢感谢你提供的思路,我会慢慢琢磨,如有不懂,还得再次请教您,感谢{:5_150:}{:5_153:}{:5_152:}
山心豆 发表于 2021-1-29 21:35:05
爱学习的楼主,顶一个!最近我也在学习Python
matlab01 发表于 2021-2-2 22:19:44
rocky 发表于 2021-1-28 21:07
顶一下
要是大家有相关的MATLAB的案例教程  也可给我引一下  我自己学  照葫芦画瓢   感谢大家 ...

可以去B站找一下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

虫部落 陕ICP备14001577号-1川公网安备 51019002003015号联系我们FAQ关于虫部落免责声明虫部落生存法则蛙先知 - AI 玩家社区 🚧

Build with for "make search easier" Copyright © 2013-2024. Powered by Discuz! GMT+8, 2024-4-20 11:12

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