声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1899|回复: 13

[编程技巧] 高斯模型编程不会,请各位帮帮忙

[复制链接]
发表于 2012-6-8 10:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
U=str2num(get(handles.edit6,'String'));
T=str2num(get(handles.edit7,'String'));
P=str2num(get(handles.edit8,'string'));
A=str2num(get(handles.edit9,'string'));
X=str2num(get(handles.edit1,'String'));
Y=str2num(get(handles.edit2,'String'));
Z=str2num(get(handles.edit3,'String'));
r=str2num(get(handles.edit4,'String'));
M=str2num(get(handles.edit5,'string'));
a=str2num(get(handles.edit14,'string'));
b=str2num(get(handles.edit15,'String'));
c=str2num(get(handles.edit16,'String'));
d=str2num(get(handles.edit17,'String'));
H=str2num(get(handles.edit18,'String'));
%y=str2num(get(handles.edit21,'String'));
%y=str2num(get(handles.edit20,'String'));

sp=(r+1)/(r-1)
SQ=sqrt(M*r*(2/(r+1))^sp)
Q=A*P*SQ
axes(handles.axes1);
%x=-2*pi:0.01:2*pi;
%[x]=sqrt((2.*a.^2.*x.^(2.*b))-H.^2./(2.*c.^2.*x.^(2.*d))-log(X.*pi.*U.*a.*c.
%*x.^(b+d)./Q)=1);
x=0:pi/20:2*pi;
y=sqrt((2.*a.^2.*x.^(2.*b))-H.^2./(2.*c.^2.*x.^(2.*d))-log(X.*pi.*U.*a.*c.*x.^(b+d)./Q));
plot(x,y);
hold on;
我想让y等于0求出x,然后让y等于0求出y,让后利用所求出的x,y的值作为椭圆的长轴和短轴画一个椭圆,如何实现。毕业设计着急中,麻烦各位大侠帮帮忙!!
回复
分享到:

使用道具 举报

 楼主| 发表于 2012-6-8 12:49 | 显示全部楼层
楼主,你去哪里了,帮帮忙嘛,有木有会的啊
 楼主| 发表于 2012-6-8 12:51 | 显示全部楼层
我找老师答疑,老师说他也不会编程,各位帮帮忙
发表于 2012-6-10 00:54 | 显示全部楼层
个人水平有限, 著实没看懂?
 楼主| 发表于 2012-6-11 15:10 | 显示全部楼层
回复 4 # ChaChing 的帖子

伤心哦,不过还是谢谢
发表于 2012-6-12 00:00 | 显示全部楼层
本帖最后由 ChaChing 于 2012-6-12 00:03 编辑

回复 5 # 宝贝加油芳 的帖子

想让y等于0求出x,然后让y等于0求出y ??

看下
5.建议提问的网友分清 编程问题 和 专业问题 http://forum.vibunion.com/thread-36746-1-1.html
6.提问的智慧!!!!(发帖前请认真阅读) http://forum.vibunion.com/thread-21991-1-1.html
 楼主| 发表于 2012-6-12 18:30 | 显示全部楼层
回复 6 # ChaChing 的帖子

好吧,谨遵教诲
发表于 2012-6-13 00:01 | 显示全部楼层
回复 7 # 宝贝加油芳 的帖子

我想可能楼主还不明白个人不解之处!?
1."然后让y等于0求出y", 是矛盾吧! y=0求y?
2.一堆係数(a,b,c,d...)是常数吗? 或向量?
楼主若没说清楚, 高手们怎出手引导!?:@)
 楼主| 发表于 2012-6-14 12:50 | 显示全部楼层
回复 8 # ChaChing 的帖子

经过这几天的刻苦学习,我把自己想问的问题想清楚了。
下面是回调函数里面的代码
H=str2num(get(handles.edit10,'String'));
u=str2num(get(handles.edit11,'String'));
T=str2num(get(handles.edit12,'string'));
P=str2num(get(handles.edit13,'string'));
A=str2num(get(handles.edit14,'String'));
C1=str2num(get(handles.edit1,'String'));
C2=str2num(get(handles.edit2,'String'));
C3=str2num(get(handles.edit3,'String'));
r=str2num(get(handles.edit4,'string'));
M=str2num(get(handles.edit5,'string'));
a=str2num(get(handles.edit6,'String'));
b=str2num(get(handles.edit7,'String'));
c=str2num(get(handles.edit8,'String'));
d=str2num(get(handles.edit9,'String'));
%x=str2num(get(handles.edit21,'String'));
%gx=str2num(get(handles.edit11,'String'));
x=0:50:250;
sp=(r+1)/(r-1)
SQ=sqrt(M*r*(2/(r+1))^sp)
Q=A*P*SQ
((2.*a.^2.*x.^(2.*b))-H.^2./(2.*c.^2.*x.^(2.*d))-log(X.*pi.*U.*a.*c.*x.^(b+d)./Q)).-y.^2=0;
我主要就是要画出((2.*a.^2.*x.^(2.*b))-H.^2./(2.*c.^2.*x.^(2.*d))-log(X.*pi.*U.*a.*c.*x.^(b+d)./Q)).-y.^2=0中隐函数Y的图,不知道用ezplot怎么画出图。麻烦版主给指点下,谢谢,我一直在线等。
 楼主| 发表于 2012-6-14 12:54 | 显示全部楼层
回复 8 # ChaChing 的帖子

H=str2num(get(handles.edit10,'String'));
u=str2num(get(handles.edit11,'String'));
T=str2num(get(handles.edit12,'string'));
P=str2num(get(handles.edit13,'string'));
A=str2num(get(handles.edit14,'String'));
C1=str2num(get(handles.edit1,'String'));
C2=str2num(get(handles.edit2,'String'));
C3=str2num(get(handles.edit3,'String'));
r=str2num(get(handles.edit4,'string'));
M=str2num(get(handles.edit5,'string'));
a=str2num(get(handles.edit6,'String'));
b=str2num(get(handles.edit7,'String'));
c=str2num(get(handles.edit8,'String'));
d=str2num(get(handles.edit9,'String'));
%x=str2num(get(handles.edit21,'String'));
%gx=str2num(get(handles.edit11,'String'));
x=0:50:250;
sp=(r+1)/(r-1)
SQ=sqrt(M*r*(2/(r+1))^sp)
Q=A*P*SQ
((2.*a.^2.*x.^(2.*b))-H.^2./(2.*c.^2.*x.^(2.*d))-log(X.*pi.*U.*a.*c.*x.^(b+d)./Q)).-y.^2=0;
我主要就是要画出((2.*a.^2.*x.^(2.*b))-H.^2./(2.*c.^2.*x.^(2.*d))-log(C1.*pi.*U.*a.*c.*x.^(b+d)./Q)).-y.^2=0中隐函数Y的图,不知道用ezplot怎么画出图。麻烦版主给指点下,谢谢,我一直在线等。上面的隐函数错了,是这个里面的。。不好意思
 楼主| 发表于 2012-6-14 12:59 | 显示全部楼层
回复 10 # 宝贝加油芳 的帖子

其中以上str2num定义的都是我直接给定的值。以上程序是我做的一个GUI界面的回调函数里面的东西,请高手们多多指教。
发表于 2012-6-14 16:50 | 显示全部楼层
ezplot的调用方式可以参考MATLAB中的help,你的问题可以使用这个调用方式:ezplot(f,[min,max])。其中f就是方程式f=0左边这一串:
((2.*a.^2.*x.^(2.*b))-H.^2./(2.*c.^2.*x.^(2.*d))-log(C1.*pi.*U.*a.*c.*x.^(b+d)./Q)).-y.^2
[min,max]为x的上下限,即[0,250]。
试试看这个语句有没有用:
ezplot('((2.*a.^2.*x.^(2.*b))-H.^2./(2.*c.^2.*x.^(2.*d))-log(C1.*pi.*U.*a.*c.*x.^(b+d)./Q)).-y.^2',[0,250])

建议:
1、给出的代码起码让人能够调试而不是这种别人根本没法调试的GUI界面回调函数里面的一部分。
2、MATLAB的help很强大,大部分问题贺年片都能解决。虽然是全英文,但是要看懂并不是非常难的事情。掌握了利用help解决问题的能力才是掌握了独立解决问题的能力

评分

1

查看全部评分

 楼主| 发表于 2012-6-14 20:40 | 显示全部楼层
回复 12 # hustxyong 的帖子

我刚学MATLAB,不太会用,所以很多问题我表达的不够准确,很抱歉嘿嘿。很谢谢您的帮助。我把上面的公式化简,用分段函数画出图来了。但是又遇见新问题了,好纠结哦。
 楼主| 发表于 2012-6-14 20:42 | 显示全部楼层
我明天就交论文了,还想最后努力一把,我把QQ留下了,希望大侠给指教328654296,谢谢

点评

有问题上论坛交流,大家一起受益,:)  发表于 2012-6-15 08:00
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-16 00:50 , Processed in 0.080622 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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