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
使用迭代器。包含许多在循环中存储数据的示例。