Borrar filtros
Borrar filtros

How to plot a math function with a vector

1 visualización (últimos 30 días)
David Sicic
David Sicic el 19 de Oct. de 2022
Comentada: David Sicic el 19 de Oct. de 2022
Hello everbody,
I have a problem with a task. I've read an excel data into matlab and worked with this data. As i made an integral with the values of my excel data, i now have to take those values and make a math function as following : Zth = (Tmax - T_j) / P. I dont know how to implimate that vector of T_j into the function and generate a plot out of it.
Best regards
David
clear all;
close all;
clc;
values = xlsread('Beispiel-Kurven', 'Fit 0');
cooling_time = values(:,1)';
R_F = values(:,4);
R_F = R_F(~isnan(R_F))';
C_F = values(:,5);
C_F = C_F(~isnan(C_F))';
dZ_th = @(t) 0;
for v = 1:length(R_F)
dZ_th = @(t) dZ_th(t) + exp(-t / (R_F(v) * C_F(v))) / C_F(v);
end
P = @(t) 10;
T_j_scalar_t = @(t) integral(@(tau) P(tau) * dZ_th(t - tau), 0, t);
T_j = @(t) arrayfun(T_j_scalar_t, t);
Tmax = values(1,2)
Zth = (Tmax - T_j_scalar_t) / P
semilogx(cooling_time, Zth(cooling_time))
%semilogx(cooling_time, T_j(cooling_time))
  2 comentarios
Torsten
Torsten el 19 de Oct. de 2022
Is it really correct that you want dZ_th to be defined as
dZ_th(t) = sum_{v=1}^{v=N} exp( -t*( R_F(v) * C_F(v) ) ) / C_F(v);
where N = length(R_F) ?
David Sicic
David Sicic el 19 de Oct. de 2022
yes

Iniciar sesión para comentar.

Respuesta aceptada

Torsten
Torsten el 19 de Oct. de 2022
Editada: Torsten el 19 de Oct. de 2022
Then maybe
T_j_scalar_t = @(t) integral(@(tau) P(tau) .* dZ_th(t - tau), 0, t);
T_j = arrayfun(@(t)T_j_scalar_t(t), cooling_time);
Tmax = values(1,2);
Zth = (Tmax - T_j) ./ P(cooling_time);
semilogx(cooling_time, Zth)
  4 comentarios
Torsten
Torsten el 19 de Oct. de 2022
Editada: Torsten el 19 de Oct. de 2022
T_j and P(cooling_time) are vectors with the length of the array "cooling_time".
You want to divide them elementwise, thus ./ instead of /
Since P is a constant function, you could alternatively have used
Zth = (Tmax - T_j) / P(cooling_time(1));
David Sicic
David Sicic el 19 de Oct. de 2022
Great, thank you for your time and explanation!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Get Started with MATLAB en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by