How i can find the difference between 2 values.

I have 2 tables, with 1 column and 24 rows each.
I want to find the diferrence between each value in every row.
for example
T1=[1.5
2.5
3.5
4.5]
T2=[1.2
2
3
4]
The answer must be
Diff=[ 0.3
0.5
0.5
0.5]

Respuestas (2)

Jon
Jon el 18 de Jul. de 2022
y = T1 - T2

9 comentarios

Jon
Jon el 18 de Jul. de 2022
Editada: Jon el 18 de Jul. de 2022
Note that there is a MATLAB function, called diff, although capitalized your variable named Diff, it would still help avoid confusion to use a different name for this variable.
Also, what you call "tables" are called matrices or arrays in MATLAB. A MATLAB table is for column oriented data and has additional features, like column names, row names etc. It's a little hard initially learning the terminology, but it is helpful to have the correct names for things to keep things clear.
Jon
Jon el 18 de Jul. de 2022
Editada: Jon el 18 de Jul. de 2022
In your comment to @Torsten you say that "i already did this but the answer is different".
I can not run the code you have attached as it requires other data and maybe functions that I don't have.
For any two column vectors, a and b, with an equal number of elements it is certain that the result of
delta = a - b
will be given by
delta = [a(1) - b(1);a(2) -b(2); ... a(i) - b(i); ... a(n) - b(n)];
If that isn't what you are getting then there must be some confusion about what is in your two vectors.
Please save your variables voltage1 and voltage to a .mat file and just attach the .mat file with these two variables using the paperclip.
Hello...thanks for the answer
here are the tables. You can see that the results are not correct!
voltage1=[1.0350;1.0350;0.9917;0.9997;1.0201;1.0154;1.0250;0.9947;1.0029;1.0308;0.9915;1.0052;1.0200;0.9800;1.0140;1.0170;1.0384;1.0500;1.0235;1.0387;1.0500;1.0500;1.0500;0.9790];
voltage=[1.0350;1.0350;0.9335;0.9907;1.0175;1.0112;1.0250;0.9899;0.9869;1.0247;0.9819;0.9941;1.0200;0.9800;1.0140;1.0170;1.0379;1.0500;1.0228;1.0385;1.0500;1.0500;1.0500;1.0169];
difference= voltage1 - voltage
difference = 24×1
0 0 0.0582 0.0090 0.0026 0.0042 0 0.0048 0.0160 0.0061
Stephen23
Stephen23 el 20 de Jul. de 2022
Editada: Stephen23 el 20 de Jul. de 2022
"You can see that the results are not correct!"
Please show us one specific value that is not correct.
Lets look for example at the third element:
voltage1 = [1.0350;1.0350;0.9917;0.9997;1.0201;1.0154;1.0250;0.9947;1.0029;1.0308;0.9915;1.0052;1.0200;0.9800;1.0140;1.0170;1.0384;1.0500;1.0235;1.0387;1.0500;1.0500;1.0500;0.9790];
voltage = [1.0350;1.0350;0.9335;0.9907;1.0175;1.0112;1.0250;0.9899;0.9869;1.0247;0.9819;0.9941;1.0200;0.9800;1.0140;1.0170;1.0379;1.0500;1.0228;1.0385;1.0500;1.0500;1.0500;1.0169];
difference = voltage1 - voltage;
voltage(3)
ans = 0.9335
voltage1(3)
ans = 0.9917
voltage1(3) - voltage(3)
ans = 0.0582
difference(3)
ans = 0.0582
What value do you expect to get when you subtract 0.9335 from 0.9917 ?
for example in 14th, in my laptop when i runned the code in my laptop, the difference was -0.111, But it must be 0, because voltage1 and voltage are the same number.
Stephen23
Stephen23 el 20 de Jul. de 2022
Editada: Stephen23 el 20 de Jul. de 2022
"for example in 14th, in my laptop when i runned the code in my laptop, the difference was -0.111, But it must be 0, because voltage1 and voltage are the same number."
Then clearly they are not the same number on your laptop. Please save those arrays (exactly before the subtraction operation, not from anywhere else) in one MAT file and upload it here by clicking the paperclip button.
voltage1 = [1.0350;1.0350;0.9917;0.9997;1.0201;1.0154;1.0250;0.9947;1.0029;1.0308;0.9915;1.0052;1.0200;0.9800;1.0140;1.0170;1.0384;1.0500;1.0235;1.0387;1.0500;1.0500;1.0500;0.9790];
voltage = [1.0350;1.0350;0.9335;0.9907;1.0175;1.0112;1.0250;0.9899;0.9869;1.0247;0.9819;0.9941;1.0200;0.9800;1.0140;1.0170;1.0379;1.0500;1.0228;1.0385;1.0500;1.0500;1.0500;1.0169];
difference = voltage1 - voltage;
voltage1(14)
ans = 0.9800
voltage(14)
ans = 0.9800
difference(14)
ans = 0
okayi will do this.Plese give me some time because i update my matlab now
I move the tables in other script, and the diffence now is correct. Maybe there is a missunderstanding in the code!
Thank yo for your help!
Jon
Jon el 20 de Jul. de 2022
Editada: Jon el 20 de Jul. de 2022
Glad you got this sorted out. If this answered your question please accept the answer. Thanks @Stephen23 for pressing through the details on this and helping the OP understand.

Iniciar sesión para comentar.

T1=[1.5
2.5
3.5
4.5];
T2=[1.2
2
3
4];
Difference = T1 - T2
Difference = 4×1
0.3000 0.5000 0.5000 0.5000

1 comentario

i already did this but the answer is different. I will upload my code to see it.
clear all
define_constants;
Unrecognized function or variable 'define_constants'.
mpc=loadcase('case24_ieee_rts');
demand=[1775.835,1669.815,1590.3,1563.795,1563.795,1590.3,1961.37,2279.43,2517.975,2544.48,2544.48,2517.975,2517.975,2517.975,2464.965,2464.965,2623.995,2650.5,2650.5,2544.48,2411.955,2199.915,1934.865,1669.815]
time=[1:1:24];
voltage1=[1.0350;1.0350;0.9917;0.9997;1.0201;1.0154;1.0250;0.9947;1.0029;1.0308;0.9915;1.0052;1.0200;0.9800;1.0140;1.0170;1.0384;1.0500;1.0235;1.0387;1.0500;1.0500;1.0500;0.9790;];
%proportional load distribution
tot_load=0;
for i=1:1:24
tot_load=tot_load+mpc.bus(i,PD);
end
load_prc=mpc.bus(:,PD)./tot_load;
for i=1:1:24
mpc.bus(:,PD)=load_prc.*demand(i);
if i==19
mpc.gen([3],BR_STATUS)=0;
mpc.branch([3],BR_STATUS)=0;
end
normal(i)=runpf(mpc)
end
voltage=normal(19).bus(:,VM)
Difference = voltage1 - voltage

Iniciar sesión para comentar.

Productos

Etiquetas

Preguntada:

el 18 de Jul. de 2022

Editada:

Jon
el 20 de Jul. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by