clc; clear;
dt = 0.5;
Glucose = zeros(1,361);
Glucose(1,1) = 6000;
Glucose_Released = 110;
Glucose_Used = zeros(1,361);
Usage_Fraction = zeros(1,361);
t = 0:dt:180; % We need to generate a time vector for our plot
for k = 2:length(t)
Glucose_Used(k) = Glucose(k) * Usage_Fraction(k); % Based on Euler?sformula
Glucose(k-1) = Glucose(k) + [Glucose_Released(k) - Glucose_Used(k)]*dt;
end
Please help!!

3 件のコメント

Sudhaunsh Deshpande
Sudhaunsh Deshpande 2021 年 4 月 28 日
@Adam Danz Here it is
Adam Danz
Adam Danz 2021 年 4 月 28 日
Question edited to format code.
@Sudhaunsh Deshpande, looks like David hit the nail on the head. Let us know if you have any other questions.
Sudhaunsh Deshpande
Sudhaunsh Deshpande 2021 年 4 月 28 日
It did kinda work, the values are now zero which means that my guy is dead, but hey atleast the damn thing runs!

サインインしてコメントする。

 採用された回答

David Fletcher
David Fletcher 2021 年 4 月 28 日

0 投票

You have defined Glucose_Released as a scaler value
Glucose_Released = 110;
You are then trying to index it, which will cause an error
Glucose_Released(k)

6 件のコメント

Sudhaunsh Deshpande
Sudhaunsh Deshpande 2021 年 4 月 28 日
The thing is Glucose_Released is the rate of glucose being released.
So the only option is:
Glucose_Released a matrix of (361X1) with the value 110
is that what you mean?
David Fletcher
David Fletcher 2021 年 4 月 28 日
It is your calculation - I am merely pointing out that trying to index a scaler is the cause of your error. If the rate of glucose release is invariant, do you need to index it at all - or does Glucose_Released really represent the amount of glucose released over time? I don't know - as I say I have no idea what you are doing, you asked for the source of the error: I provided it.
Sudhaunsh Deshpande
Sudhaunsh Deshpande 2021 年 4 月 28 日
Okay that actually makes sense
thank you :)
ellierose
ellierose 2023 年 5 月 16 日
so how did you modify the script in the end to make it work?
Sudhaunsh Deshpande
Sudhaunsh Deshpande 2023 年 5 月 16 日
Pardon my text editing:)
for i=1: length (t) Glucose Used(i) = Glucose(i) * Usage_Fraction(i); Glucose(i+1) = Glucose(i) + (G lucose_Released(i) Glucose_Used(i)) *dt; Insulin breakdown(i) = Insulin(i)/k; Insulin(i+1) Insulin(1) [Insulin_Secreted(i) Insulin_breakdown (1)] *dt;
Walter Roberson
Walter Roberson 2023 年 5 月 16 日
You have
Glucose(i+1) = Glucose(i) + (G lucose_Released(i) Glucose_Used(i)) *dt
We can assume an accidental space,
Glucose(i+1) = Glucose(i) + (Glucose_Released(i) Glucose_Used(i)) *dt
but there needs to be something between Glucose_Released(i) and Glucose_Used(i)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Get Started with Signal Processing Toolbox についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by