楼主: hjm1984
2001 8

求高手看个matlab程序 [推广有奖]

  • 0关注
  • 1粉丝

已卖:17份资源

博士生

8%

还不是VIP/贵宾

-

威望
0
论坛币
597 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
7552 点
帖子
319
精华
0
在线时间
127 小时
注册时间
2009-6-20
最后登录
2020-4-26

楼主
hjm1984 发表于 2010-9-13 20:36:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我这个程序想绘两个图形 但运行后怎么没出来图形
clear;
sigma=0.007252;
a=1.849162;
u=0.020520;
lemda=-1.7997399;
gamma=((a+lemda)^2+2*sigma^2)^(1/2);
r1=0.021027;
for t=1:0.05:30;
        P=(2*gamma*exp((a+lemda+gamma)*t/2)/((a+lemda+gamma)*(exp(gamma*t)-1)...
        +2*gamma))^(2*a*u/(sigma^2))*exp(-(2*(exp(gamma*t)-1)/((a+lemda+gamma)...
        *(exp(gamma*t)-1)+2*gamma))*r1);
        P1=(2*gamma*exp((a+lemda+gamma)*(t+1)/2)/((a+lemda+gamma)*...
        (exp(gamma*(t+1))-1)+2*gamma))^(2*a*u/(sigma^2))*...
        exp(-(2*(exp(gamma*(t+1))-1)/((a+lemda+gamma)*(exp(gamma*(t+1))-1)+2*gamma))*r1);
        R=-1/t*log(P);
        R=(1/P)^(1/t)-1;
        fr=log(P)-log(P1);
        fr=(P/P1)-1;
    end;
   
plot(R)
plot(fr)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB程序 MATLAB atlab matla Atl MATLAB 程序 高手

沙发
henryhmj 发表于 2010-9-13 21:03:51
你人品太差了
已有 1 人评分经验 论坛币 收起 理由
Xaero -1 -1 给你积攒点RP吧。

总评分: 经验 -1  论坛币 -1   查看全部评分

藤椅
angelkewei 发表于 2010-9-13 21:04:17
你plot的命令用错,所以plot不出来,不过
    R=-1/t*log(P);
        R=(1/P)^(1/t)-1;
        fr=log(P)-log(P1);
        fr=(P/P1)-1;
为什么要R和fr算两次,后面一次的结果会覆盖前面的。。
建议你输入 help plot看下命令应该怎么写,然后按照你自己的要求plot,如果你需要plot R against t,命令应该是>>plot(t,R)希望能帮到你。
已有 1 人评分经验 论坛币 收起 理由
Xaero + 9 + 9 其实没在点子上。

总评分: 经验 + 9  论坛币 + 9   查看全部评分

板凳
liuxin9023 发表于 2010-9-14 08:27:51
画图要画一个序列的图 你只有一个数字 怎么画图?

报纸
tulipsliu 在职认证  发表于 2010-9-27 23:41:46
如果想同一张图片里画两个曲线;
figure
plot(series1)
hold on
plot(series2)

如果是两张图
figure(1)
plot(series1)
figure(2)
plot(series2)

多在网上找MATLAB的学习资料,就会很熟悉了。我学这个软件差不多两年了,才上手。
所谓熟能生巧,你多学习,就会得到你满意的图形。
比如给你一个两个序列:
%% A example for plot figure ,using hold on for plot two figure in one graph
% -----------------------BOF------------------------------------
y=randn(100,1);
z=randn(100,1)*100;
figure
plot(y)
hold on
plot(z)
%----------------------------------------EOF--------------------------------

ENJOY
劳动经济学

地板
richardma 发表于 2010-9-28 05:48:27
Your program can only plot last value of Fr (that is only one point), and it is hardly seen. Please move the statements PLOT inside the for loop, as following.

figure(1);
for t=1:0.05:30;
...
plot(R);
hold on;
plot(Fr);
end;

7
Grace-wang 发表于 2010-9-28 22:12:22
同意四楼观点。
把循环里的R换成R(t),在for循环前面对R和fr进行初始化:R=zeros(600);fr=zeros(600)
再试试。
God helps who help themselves.

8
fuwf120 发表于 2010-9-30 14:46:43
将所有的*换成.*,/换成./,^换成.^即可进行向量运算
修改的程序如下
clear;
sigma=0.007252;
a=1.849162;
u=0.020520;
lemda=-1.7997399;
gamma=((a+lemda).^2+2.*sigma.^2).^(1./2);
r1=0.021027;

t=1:0.05:30;

        P=(2.*gamma.*exp((a+lemda+gamma).*t./2)./((a+lemda+gamma).*(exp(gamma.*t)-1)...
        +2.*gamma)).^(2.*a.*u./(sigma.^2)).*exp(-(2.*(exp(gamma.*t)-1)./((a+lemda+gamma)...
        .*(exp(gamma.*t)-1)+2.*gamma)).*r1);
        P1=(2.*gamma.*exp((a+lemda+gamma).*(t+1)./2)./((a+lemda+gamma).*...
        (exp(gamma.*(t+1))-1)+2.*gamma)).^(2.*a.*u./(sigma.^2)).*...
        exp(-(2.*(exp(gamma.*(t+1))-1)./((a+lemda+gamma).*(exp(gamma.*(t+1))-1)+2.*gamma)).*r1);
        R=-1./t.*log(P);
        R=(1./P).^(1./t)-1;
        fr=log(P)-log(P1);
        fr=(P./P1)-1;
figure(1);
hold on;
plot(R);
hold off;
figure(2);
hold on;
plot(fr);
hold off;

9
hjm1984 发表于 2010-10-2 12:48:21
非常感谢!!!!!11

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 05:26