Matlab中保存值的图形化
我的代码无法用于此等式:Matlab中保存值的图形化,matlab,Matlab,我的代码无法用于此等式: hb = 0.5 + (qr*t) - [definite integral between t1 and t2 of (qdt)] 对于hb,我只得到一个值,如何保存这些值?(获取头部与时间的关系图。) 更新:我已经在for循环中添加了一个索引来存储值,但是现在我无法用图表显示结果。不知道为什么 % Fluids Project: Power Generation code clear all; clc; R = 15; Qr = 61.17; A = 2.47e
hb = 0.5 + (qr*t) - [definite integral between t1 and t2 of (qdt)]
对于hb
,我只得到一个值,如何保存这些值?(获取头部与时间的关系图。)
更新:我已经在for循环中添加了一个索引来存储值,但是现在我无法用图表显示结果。不知道为什么
% Fluids Project: Power Generation code
clear all;
clc;
R = 15;
Qr = 61.17;
A = 2.47e05;
Tp = 12;
Q = 100;
g = 9.81;
p = 1000;
q = (Q)/((A*R)/(Tp));
qr = (Qr)/((A*R)/(Tp));
t1 = 0.25;
t2 = 0.75;
ii=0;
for t=0:0.01:1
ii=ii+1;
tide_height = 0.5*cos(2*pi*t);
hb= 0.5 + qr*t;
if t>t1 && t<t2
hb = hb - (q*t);
end
H(ii) = hb - tide_height;
end
plot (t,H);
grid on;
title ('Head Available');
xlabel ('Time');
ylabel ('Head');
%流体项目:发电代码
清除所有;
clc;
R=15;
Qr=61.17;
A=2.47e05;
Tp=12;
Q=100;
g=9.81;
p=1000;
q=(q)/(A*R)/(Tp));
qr=(qr)/(A*R)/(Tp));
t1=0.25;
t2=0.75;
ii=0;
对于t=0:0.01:1
ii=ii+1;
潮汐高度=0.5*cos(2*pi*t);
hb=0.5+qr*t;
如果t>t1&&t原因是您将t
定义为循环变量t
将仅为一个值。您希望t
在最末端是一个数组
有两种方法可以解决这个问题
方法#1-更改绘图
调用
更改plot
调用,使其成为与输出H
具有相同时间空间的数组:
plot(0:0.01:1, H);
方法#2-声明时间数组并更改for
循环
您可以声明数组t
为所需的时间步长,然后修改for
循环,以便正确访问t
中的每个元素:
在循环之前,请执行以下操作:
t = 0:0.01:1;
接下来,在for
循环中执行以下操作:
for tt = t
tt
现在将成为循环计数器变量。您必须将t
的所有引用更改为tt
,不过:
t = 0:0.01:1; %// Change
for tt = t %// Change
ii=ii+1;
tide_height = 0.5*cos(2*pi*tt); %// Change
hb= 0.5 + qr*tt; %// Change
if tt>t1 && tt<t2 %// Change
hb = hb - (q*tt); %// Change
end
H(ii) = hb - tide_height;
end
t=0:0.01:1;%//改变
对于tt=t%//更改
ii=ii+1;
潮汐高度=0.5*cos(2*pi*tt);%//改变
hb=0.5+qr*tt;%//改变
如果tt>t1&&tt,则无法使用该for
循环获得无限循环。这在我的机器上运行得很好。抱歉“excaza”我复制并粘贴了错误的问题,这是我以前修复的错误。您需要为hb
使用迭代器。包含许多在循环中存储数据的示例。