Tag Archives: matlab
Error occurred while executing External Mode MEX-file ‘ext_comm’: Failed to connect to the target,
hi everyone.
when i’m upload my simulink model to c2000 F28379D its give error as follows,
Build process completed successfully
Output port 2 of ‘C2000codePLL2017b_v2/Demux3’ is not connected. [4 similar]
Component:Simulink | Category:Block warning
Unconnected line found in ‘C2000codePLL2017b_v2’ (outside of current view)
Component:Simulink | Category:Block diagram warning
Error occurred while executing External Mode MEX-file ‘ext_comm’: Failed to connect to the targetError occurred while executing External Mode MEX-file ‘ext_comm’: Failed to connect to the target. A time-out occurred while waiting for the connection response from the target. Possible reasons for the time-out:
a) The target is not switched on.
b) The target is not connected to your host machine.
c) The application for the model is not running on the target. You might have clicked the Stop button. If the Run button is not dimmed, click it. Otherwise, click the Build button, which downloads and runs your application on the target.
please help me to solve this error.
Thank you in advancehi everyone.
when i’m upload my simulink model to c2000 F28379D its give error as follows,
Build process completed successfully
Output port 2 of ‘C2000codePLL2017b_v2/Demux3’ is not connected. [4 similar]
Component:Simulink | Category:Block warning
Unconnected line found in ‘C2000codePLL2017b_v2’ (outside of current view)
Component:Simulink | Category:Block diagram warning
Error occurred while executing External Mode MEX-file ‘ext_comm’: Failed to connect to the targetError occurred while executing External Mode MEX-file ‘ext_comm’: Failed to connect to the target. A time-out occurred while waiting for the connection response from the target. Possible reasons for the time-out:
a) The target is not switched on.
b) The target is not connected to your host machine.
c) The application for the model is not running on the target. You might have clicked the Stop button. If the Run button is not dimmed, click it. Otherwise, click the Build button, which downloads and runs your application on the target.
please help me to solve this error.
Thank you in advance hi everyone.
when i’m upload my simulink model to c2000 F28379D its give error as follows,
Build process completed successfully
Output port 2 of ‘C2000codePLL2017b_v2/Demux3’ is not connected. [4 similar]
Component:Simulink | Category:Block warning
Unconnected line found in ‘C2000codePLL2017b_v2’ (outside of current view)
Component:Simulink | Category:Block diagram warning
Error occurred while executing External Mode MEX-file ‘ext_comm’: Failed to connect to the targetError occurred while executing External Mode MEX-file ‘ext_comm’: Failed to connect to the target. A time-out occurred while waiting for the connection response from the target. Possible reasons for the time-out:
a) The target is not switched on.
b) The target is not connected to your host machine.
c) The application for the model is not running on the target. You might have clicked the Stop button. If the Run button is not dimmed, click it. Otherwise, click the Build button, which downloads and runs your application on the target.
please help me to solve this error.
Thank you in advance mathlab simulink, texas instruments, c2000, delfino f28379d MATLAB Answers — New Questions
Simulate single precision arithmetic in Matlab?
Hi! I’m trying to replicate, in Matlab, compiled algorithms implemented in C using single-precision arithmetic; I have the C source code, and an executable which is reputed to implement said C source, but no convenient means to compile and link said source myself. (Yes, I know I can download the Microsoft C compiler, incl. a no-frills version of Visual Studio, for free, but that’s hardly "convenient.") I’ve implemented the algorithms and I’m 99% sure they’re right because the "residuals" (the difference between my results and those of the original C implementations) are more-or-less randomly distributed around zero, and about 85% of them are within half of the precision of the C implementations’ output (which varies, but, for example, when it’s 1e-4, 85% of my residuals satisfy abs(res)<5e-5). It’s the other 15% that leave me 1% uncertain, and my attempts to explain the discrepancy have brought me to the single/double precision issue: I have good cause to suspect that the C implementations are using single-precision arithmetic, and I’ve been led to believe that Matlab always performs double-precision arithmetic, even on single precision "data," yes? (I tried making ‘single’ all the data in my implementation, and confirmed after each "gross" calculation that the output remained so, but that only reduced the number of bad residuals by 3 out of 4118 total input points.) So, I’m wondering if there’s either a "convenient" way to simulate single-precision arithmetic in Matlab (I searched File Exchange for relevant functions, but found none) or to estimate/bound the "error" introduced by using single-precision arithmetic (including power/root and exponential/log functions) instead of double. Thanks!Hi! I’m trying to replicate, in Matlab, compiled algorithms implemented in C using single-precision arithmetic; I have the C source code, and an executable which is reputed to implement said C source, but no convenient means to compile and link said source myself. (Yes, I know I can download the Microsoft C compiler, incl. a no-frills version of Visual Studio, for free, but that’s hardly "convenient.") I’ve implemented the algorithms and I’m 99% sure they’re right because the "residuals" (the difference between my results and those of the original C implementations) are more-or-less randomly distributed around zero, and about 85% of them are within half of the precision of the C implementations’ output (which varies, but, for example, when it’s 1e-4, 85% of my residuals satisfy abs(res)<5e-5). It’s the other 15% that leave me 1% uncertain, and my attempts to explain the discrepancy have brought me to the single/double precision issue: I have good cause to suspect that the C implementations are using single-precision arithmetic, and I’ve been led to believe that Matlab always performs double-precision arithmetic, even on single precision "data," yes? (I tried making ‘single’ all the data in my implementation, and confirmed after each "gross" calculation that the output remained so, but that only reduced the number of bad residuals by 3 out of 4118 total input points.) So, I’m wondering if there’s either a "convenient" way to simulate single-precision arithmetic in Matlab (I searched File Exchange for relevant functions, but found none) or to estimate/bound the "error" introduced by using single-precision arithmetic (including power/root and exponential/log functions) instead of double. Thanks! Hi! I’m trying to replicate, in Matlab, compiled algorithms implemented in C using single-precision arithmetic; I have the C source code, and an executable which is reputed to implement said C source, but no convenient means to compile and link said source myself. (Yes, I know I can download the Microsoft C compiler, incl. a no-frills version of Visual Studio, for free, but that’s hardly "convenient.") I’ve implemented the algorithms and I’m 99% sure they’re right because the "residuals" (the difference between my results and those of the original C implementations) are more-or-less randomly distributed around zero, and about 85% of them are within half of the precision of the C implementations’ output (which varies, but, for example, when it’s 1e-4, 85% of my residuals satisfy abs(res)<5e-5). It’s the other 15% that leave me 1% uncertain, and my attempts to explain the discrepancy have brought me to the single/double precision issue: I have good cause to suspect that the C implementations are using single-precision arithmetic, and I’ve been led to believe that Matlab always performs double-precision arithmetic, even on single precision "data," yes? (I tried making ‘single’ all the data in my implementation, and confirmed after each "gross" calculation that the output remained so, but that only reduced the number of bad residuals by 3 out of 4118 total input points.) So, I’m wondering if there’s either a "convenient" way to simulate single-precision arithmetic in Matlab (I searched File Exchange for relevant functions, but found none) or to estimate/bound the "error" introduced by using single-precision arithmetic (including power/root and exponential/log functions) instead of double. Thanks! single precision arithmetic, estimating error MATLAB Answers — New Questions
Data fiting in Matlab
Y pluss = (y*Ut)/mu (1)
Upluss = U/Ut (2)
Ypluss=Upluss + exp (-k*B) *(exp(k*Upluss) -1 -k*Upluss + ((k*Upluss).^2)./2 -((k*Upluss).^3)./6 (3)
I have these threee eqautions. in these eqautions, Value of y, U, B, mu and K are known.
How can i find the value of Ut by usind data fiting of the 3rd equation?Y pluss = (y*Ut)/mu (1)
Upluss = U/Ut (2)
Ypluss=Upluss + exp (-k*B) *(exp(k*Upluss) -1 -k*Upluss + ((k*Upluss).^2)./2 -((k*Upluss).^3)./6 (3)
I have these threee eqautions. in these eqautions, Value of y, U, B, mu and K are known.
How can i find the value of Ut by usind data fiting of the 3rd equation? Y pluss = (y*Ut)/mu (1)
Upluss = U/Ut (2)
Ypluss=Upluss + exp (-k*B) *(exp(k*Upluss) -1 -k*Upluss + ((k*Upluss).^2)./2 -((k*Upluss).^3)./6 (3)
I have these threee eqautions. in these eqautions, Value of y, U, B, mu and K are known.
How can i find the value of Ut by usind data fiting of the 3rd equation? matlab data fit MATLAB Answers — New Questions
how to find area and volume from a .stl file?
I need to find the area and volume of 3D triangulation. I used [F,V] = stlBinaryRead(‘DWB1.stl’); to read the file "DWB1.stl". But when I used stlBinaryRead.m to get volume, it gives NaN. Hot to fix this? I used V'( all( isnan( V’ ), 2 ), : )) = (); to remove NaN. but did not work.I need to find the area and volume of 3D triangulation. I used [F,V] = stlBinaryRead(‘DWB1.stl’); to read the file "DWB1.stl". But when I used stlBinaryRead.m to get volume, it gives NaN. Hot to fix this? I used V'( all( isnan( V’ ), 2 ), : )) = (); to remove NaN. but did not work. I need to find the area and volume of 3D triangulation. I used [F,V] = stlBinaryRead(‘DWB1.stl’); to read the file "DWB1.stl". But when I used stlBinaryRead.m to get volume, it gives NaN. Hot to fix this? I used V'( all( isnan( V’ ), 2 ), : )) = (); to remove NaN. but did not work. stl file, 3d-triangulation, nan, volume MATLAB Answers — New Questions
How to complete Gaussian elimination?
Hello everyone, I am looking for an answer using Gaussian elimination, and the values diverge at the end. How do I fix it to get an accurate answer?
Here is my code.
clc; clear all; close all;
A = [2 0 1 ; -2 4 1 ;-1 -1 3];
b = [8 0 2]’;
sz = size(A,1);
disp ([A b]);
for i = 2 :1: sz
for j = 1:1:i-1
k = A(j,j)/A(i,j);
A(i,:) = k * A(i,:) – A(j,:);
b(i) = k * b(i) – b(j);
disp([A b]);
pause(3)
end
end
for i = sz-1:-1:1
for j = sz:-1:i+1
k = A(j,j)/A(i,j);
A(i,:) = k*A(i,:)-A(j,:);
b(i) = k* b(i) – b(j);
disp([A b]);
pause(3)
end
end
x = b./diag(A);
disp(x);Hello everyone, I am looking for an answer using Gaussian elimination, and the values diverge at the end. How do I fix it to get an accurate answer?
Here is my code.
clc; clear all; close all;
A = [2 0 1 ; -2 4 1 ;-1 -1 3];
b = [8 0 2]’;
sz = size(A,1);
disp ([A b]);
for i = 2 :1: sz
for j = 1:1:i-1
k = A(j,j)/A(i,j);
A(i,:) = k * A(i,:) – A(j,:);
b(i) = k * b(i) – b(j);
disp([A b]);
pause(3)
end
end
for i = sz-1:-1:1
for j = sz:-1:i+1
k = A(j,j)/A(i,j);
A(i,:) = k*A(i,:)-A(j,:);
b(i) = k* b(i) – b(j);
disp([A b]);
pause(3)
end
end
x = b./diag(A);
disp(x); Hello everyone, I am looking for an answer using Gaussian elimination, and the values diverge at the end. How do I fix it to get an accurate answer?
Here is my code.
clc; clear all; close all;
A = [2 0 1 ; -2 4 1 ;-1 -1 3];
b = [8 0 2]’;
sz = size(A,1);
disp ([A b]);
for i = 2 :1: sz
for j = 1:1:i-1
k = A(j,j)/A(i,j);
A(i,:) = k * A(i,:) – A(j,:);
b(i) = k * b(i) – b(j);
disp([A b]);
pause(3)
end
end
for i = sz-1:-1:1
for j = sz:-1:i+1
k = A(j,j)/A(i,j);
A(i,:) = k*A(i,:)-A(j,:);
b(i) = k* b(i) – b(j);
disp([A b]);
pause(3)
end
end
x = b./diag(A);
disp(x); gaussian elimination MATLAB Answers — New Questions
Cannot install addon – unexpected error
See version information below. I launched as admin, and as not admin. Nothing I could do would work. It would start download and at about a third each time it would fail.
Log file output:
—
(Apr 20, 2024 22:00:22) # Today’s Date:
(Apr 20, 2024 22:00:22) Apr 20, 2024 22:00:22 -0500
(Apr 20, 2024 22:00:22)
(Apr 20, 2024 22:00:22) Starting Add-On Installer
(Apr 20, 2024 22:00:22) System Info
(Apr 20, 2024 22:00:22) OS: Windows Version 10.0 (Build 22631)
(Apr 20, 2024 22:00:22) Arch: amd64
(Apr 20, 2024 22:00:22) Language: ja_JP
(Apr 20, 2024 22:00:22) Release Description: R2024a Update 1
(Apr 20, 2024 22:00:22) Installer’s Build Number: 24.1.0.2568132
(Apr 20, 2024 22:00:22) Session key: 52678390-7d09-4970-8dd5-77d4ef98a1b5
(Apr 20, 2024 22:00:23) Proxy host & port are not active
(Apr 20, 2024 22:00:23) Proxy username & password are not active
(Apr 20, 2024 22:00:23) Proxy validation is successful.
(Apr 20, 2024 22:00:23) C:Program FilesMATLABR2024a is writeable
(Apr 20, 2024 22:00:23) Write permissions validation is successful.
(Apr 20, 2024 22:00:23) Starting download of product meta data
(Apr 20, 2024 22:00:24) Finished downloading product meta data
(Apr 20, 2024 22:00:27) Product data validation is successful.
(Apr 20, 2024 22:00:27) MATLAB detection validation is successful.
(Apr 20, 2024 22:00:27) Install Root: C:Program FilesMATLABR2024a
(Apr 20, 2024 22:00:28) 1%
(Apr 20, 2024 22:00:28) 4%
(Apr 20, 2024 22:00:29) 5%
(Apr 20, 2024 22:00:29) 10%
(Apr 20, 2024 22:00:29) 13%
(Apr 20, 2024 22:00:29) 15%
(Apr 20, 2024 22:00:30) 17%
(Apr 20, 2024 22:00:31) 21%
(Apr 20, 2024 22:00:31) 24%
(Apr 20, 2024 22:00:32) 25%
(Apr 20, 2024 22:00:32) 27%
(Apr 20, 2024 22:00:32) 予期せぬ問題が発生しました。<br>インストーラーの再実行をお試しください。<br><br>ヘルプについては、こちらの <a HREF="https://www.mathworks.com/pi_suoe_uai_R2024a_win64">MATLAB Answer</a> を参照してください。<br>Package cannot be read or empty.
(Apr 20, 2024 22:00:38) Exiting with status -2
(Apr 20, 2024 22:00:38) End – UnsuccessfulSee version information below. I launched as admin, and as not admin. Nothing I could do would work. It would start download and at about a third each time it would fail.
Log file output:
—
(Apr 20, 2024 22:00:22) # Today’s Date:
(Apr 20, 2024 22:00:22) Apr 20, 2024 22:00:22 -0500
(Apr 20, 2024 22:00:22)
(Apr 20, 2024 22:00:22) Starting Add-On Installer
(Apr 20, 2024 22:00:22) System Info
(Apr 20, 2024 22:00:22) OS: Windows Version 10.0 (Build 22631)
(Apr 20, 2024 22:00:22) Arch: amd64
(Apr 20, 2024 22:00:22) Language: ja_JP
(Apr 20, 2024 22:00:22) Release Description: R2024a Update 1
(Apr 20, 2024 22:00:22) Installer’s Build Number: 24.1.0.2568132
(Apr 20, 2024 22:00:22) Session key: 52678390-7d09-4970-8dd5-77d4ef98a1b5
(Apr 20, 2024 22:00:23) Proxy host & port are not active
(Apr 20, 2024 22:00:23) Proxy username & password are not active
(Apr 20, 2024 22:00:23) Proxy validation is successful.
(Apr 20, 2024 22:00:23) C:Program FilesMATLABR2024a is writeable
(Apr 20, 2024 22:00:23) Write permissions validation is successful.
(Apr 20, 2024 22:00:23) Starting download of product meta data
(Apr 20, 2024 22:00:24) Finished downloading product meta data
(Apr 20, 2024 22:00:27) Product data validation is successful.
(Apr 20, 2024 22:00:27) MATLAB detection validation is successful.
(Apr 20, 2024 22:00:27) Install Root: C:Program FilesMATLABR2024a
(Apr 20, 2024 22:00:28) 1%
(Apr 20, 2024 22:00:28) 4%
(Apr 20, 2024 22:00:29) 5%
(Apr 20, 2024 22:00:29) 10%
(Apr 20, 2024 22:00:29) 13%
(Apr 20, 2024 22:00:29) 15%
(Apr 20, 2024 22:00:30) 17%
(Apr 20, 2024 22:00:31) 21%
(Apr 20, 2024 22:00:31) 24%
(Apr 20, 2024 22:00:32) 25%
(Apr 20, 2024 22:00:32) 27%
(Apr 20, 2024 22:00:32) 予期せぬ問題が発生しました。<br>インストーラーの再実行をお試しください。<br><br>ヘルプについては、こちらの <a HREF="https://www.mathworks.com/pi_suoe_uai_R2024a_win64">MATLAB Answer</a> を参照してください。<br>Package cannot be read or empty.
(Apr 20, 2024 22:00:38) Exiting with status -2
(Apr 20, 2024 22:00:38) End – Unsuccessful See version information below. I launched as admin, and as not admin. Nothing I could do would work. It would start download and at about a third each time it would fail.
Log file output:
—
(Apr 20, 2024 22:00:22) # Today’s Date:
(Apr 20, 2024 22:00:22) Apr 20, 2024 22:00:22 -0500
(Apr 20, 2024 22:00:22)
(Apr 20, 2024 22:00:22) Starting Add-On Installer
(Apr 20, 2024 22:00:22) System Info
(Apr 20, 2024 22:00:22) OS: Windows Version 10.0 (Build 22631)
(Apr 20, 2024 22:00:22) Arch: amd64
(Apr 20, 2024 22:00:22) Language: ja_JP
(Apr 20, 2024 22:00:22) Release Description: R2024a Update 1
(Apr 20, 2024 22:00:22) Installer’s Build Number: 24.1.0.2568132
(Apr 20, 2024 22:00:22) Session key: 52678390-7d09-4970-8dd5-77d4ef98a1b5
(Apr 20, 2024 22:00:23) Proxy host & port are not active
(Apr 20, 2024 22:00:23) Proxy username & password are not active
(Apr 20, 2024 22:00:23) Proxy validation is successful.
(Apr 20, 2024 22:00:23) C:Program FilesMATLABR2024a is writeable
(Apr 20, 2024 22:00:23) Write permissions validation is successful.
(Apr 20, 2024 22:00:23) Starting download of product meta data
(Apr 20, 2024 22:00:24) Finished downloading product meta data
(Apr 20, 2024 22:00:27) Product data validation is successful.
(Apr 20, 2024 22:00:27) MATLAB detection validation is successful.
(Apr 20, 2024 22:00:27) Install Root: C:Program FilesMATLABR2024a
(Apr 20, 2024 22:00:28) 1%
(Apr 20, 2024 22:00:28) 4%
(Apr 20, 2024 22:00:29) 5%
(Apr 20, 2024 22:00:29) 10%
(Apr 20, 2024 22:00:29) 13%
(Apr 20, 2024 22:00:29) 15%
(Apr 20, 2024 22:00:30) 17%
(Apr 20, 2024 22:00:31) 21%
(Apr 20, 2024 22:00:31) 24%
(Apr 20, 2024 22:00:32) 25%
(Apr 20, 2024 22:00:32) 27%
(Apr 20, 2024 22:00:32) 予期せぬ問題が発生しました。<br>インストーラーの再実行をお試しください。<br><br>ヘルプについては、こちらの <a HREF="https://www.mathworks.com/pi_suoe_uai_R2024a_win64">MATLAB Answer</a> を参照してください。<br>Package cannot be read or empty.
(Apr 20, 2024 22:00:38) Exiting with status -2
(Apr 20, 2024 22:00:38) End – Unsuccessful add-on unknown error MATLAB Answers — New Questions
Warning: Variable appears to change size on every loop iteration (within a script). Consider preallocating for speed.
Hello. I am working on a project where I’ve created a while-loop to calculate 3 power values and 4 cost values. I need to run this loop 60 times. I receive the warning shown in the summary and 3×4 double for my cst variable and 4×3 double in my power variable. I’m trying to store the values in a table so I can see all 60 values of P1, P2, P3, F1, F2, F3, and Ft. I’m very new to MATLAB and I cannot figure out how to get past the fact that I can apparently only get to 12 values each for cost and power. Here is my code:
% Group 2 – Part I.b. Optimal Power Flow with Gradient Search
% Start fresh – clear command window, variables, and plots
clc, clearvars, close all
% Initialize the values
P1 = 300;
P2 = 200;
P3 = 850 – P1 – P2;
n = 0;
k = 60;
alpha = 10;
% Initialize the cost functions
F1 = 561 + 7.92 * P1 + 0.00156 * P1^2;
F2 = 310 + 7.85 * P2 + 0.00194 * P2^2;
F3 = 78 + 7.97 * P3 + 0.00482 * P3^2;
Ft = F1 + F2 + F3;
% Initialize the gradient of the cost functions
gradientF1 = (7.92 + 0.003124 * P1 – 7.97 – 0.00964 * P3);
gradientF2 = (7.85 + 0.00388 * P2 – 7.97 -0.00964 * P3);
gradientF3 = [gradientF1;gradientF2];
while n < k
x = [P1;P2];
n = n + 1;
% Update power values
P1 = P1 – alpha * gradientF1;
P2 = P2 – alpha * gradientF2;
P3 = 850 – P1 – P2;
power(n,1) = P1; %#ok<*SAGROW>
power(n,2) = P2;
power(n,3) = P3;
cst(n,1) = F1;
cst(n,2) = F2;
cst(n,3) = F3;
cst(n,4) = Ft;
end
% Initialize arrays
power_array = zeros(3,60);
cst_array = zeros(4,60);
% Store power values
power_array(k, 🙂 = [P1, P2, P3];
% Store cost values
cst_array(k, 🙂 = [cst1, cst2, cst3, cst4];
% Display results
disp(‘Final Power Values:’);
disp(power_array(end, :));
disp(‘Final Cost Values’);
disp(cst(end, :));
% Plot power values
figure;
plot(3:60, power);
title(‘Power Values’);
xlabel(‘Iterations’);
ylabel(‘Power (MW)’);
legend(‘P1’, ‘P2’, ‘P3’);
% Plot cost values
figure;
plot(4:60, cst);
title(‘Cost Values’);
xlabel(‘Iterations’);
ylabel(‘Cost ($/hr)’);
legend(‘F1’, ‘F2’, ‘F3’, ‘F4’);Hello. I am working on a project where I’ve created a while-loop to calculate 3 power values and 4 cost values. I need to run this loop 60 times. I receive the warning shown in the summary and 3×4 double for my cst variable and 4×3 double in my power variable. I’m trying to store the values in a table so I can see all 60 values of P1, P2, P3, F1, F2, F3, and Ft. I’m very new to MATLAB and I cannot figure out how to get past the fact that I can apparently only get to 12 values each for cost and power. Here is my code:
% Group 2 – Part I.b. Optimal Power Flow with Gradient Search
% Start fresh – clear command window, variables, and plots
clc, clearvars, close all
% Initialize the values
P1 = 300;
P2 = 200;
P3 = 850 – P1 – P2;
n = 0;
k = 60;
alpha = 10;
% Initialize the cost functions
F1 = 561 + 7.92 * P1 + 0.00156 * P1^2;
F2 = 310 + 7.85 * P2 + 0.00194 * P2^2;
F3 = 78 + 7.97 * P3 + 0.00482 * P3^2;
Ft = F1 + F2 + F3;
% Initialize the gradient of the cost functions
gradientF1 = (7.92 + 0.003124 * P1 – 7.97 – 0.00964 * P3);
gradientF2 = (7.85 + 0.00388 * P2 – 7.97 -0.00964 * P3);
gradientF3 = [gradientF1;gradientF2];
while n < k
x = [P1;P2];
n = n + 1;
% Update power values
P1 = P1 – alpha * gradientF1;
P2 = P2 – alpha * gradientF2;
P3 = 850 – P1 – P2;
power(n,1) = P1; %#ok<*SAGROW>
power(n,2) = P2;
power(n,3) = P3;
cst(n,1) = F1;
cst(n,2) = F2;
cst(n,3) = F3;
cst(n,4) = Ft;
end
% Initialize arrays
power_array = zeros(3,60);
cst_array = zeros(4,60);
% Store power values
power_array(k, 🙂 = [P1, P2, P3];
% Store cost values
cst_array(k, 🙂 = [cst1, cst2, cst3, cst4];
% Display results
disp(‘Final Power Values:’);
disp(power_array(end, :));
disp(‘Final Cost Values’);
disp(cst(end, :));
% Plot power values
figure;
plot(3:60, power);
title(‘Power Values’);
xlabel(‘Iterations’);
ylabel(‘Power (MW)’);
legend(‘P1’, ‘P2’, ‘P3’);
% Plot cost values
figure;
plot(4:60, cst);
title(‘Cost Values’);
xlabel(‘Iterations’);
ylabel(‘Cost ($/hr)’);
legend(‘F1’, ‘F2’, ‘F3’, ‘F4’); Hello. I am working on a project where I’ve created a while-loop to calculate 3 power values and 4 cost values. I need to run this loop 60 times. I receive the warning shown in the summary and 3×4 double for my cst variable and 4×3 double in my power variable. I’m trying to store the values in a table so I can see all 60 values of P1, P2, P3, F1, F2, F3, and Ft. I’m very new to MATLAB and I cannot figure out how to get past the fact that I can apparently only get to 12 values each for cost and power. Here is my code:
% Group 2 – Part I.b. Optimal Power Flow with Gradient Search
% Start fresh – clear command window, variables, and plots
clc, clearvars, close all
% Initialize the values
P1 = 300;
P2 = 200;
P3 = 850 – P1 – P2;
n = 0;
k = 60;
alpha = 10;
% Initialize the cost functions
F1 = 561 + 7.92 * P1 + 0.00156 * P1^2;
F2 = 310 + 7.85 * P2 + 0.00194 * P2^2;
F3 = 78 + 7.97 * P3 + 0.00482 * P3^2;
Ft = F1 + F2 + F3;
% Initialize the gradient of the cost functions
gradientF1 = (7.92 + 0.003124 * P1 – 7.97 – 0.00964 * P3);
gradientF2 = (7.85 + 0.00388 * P2 – 7.97 -0.00964 * P3);
gradientF3 = [gradientF1;gradientF2];
while n < k
x = [P1;P2];
n = n + 1;
% Update power values
P1 = P1 – alpha * gradientF1;
P2 = P2 – alpha * gradientF2;
P3 = 850 – P1 – P2;
power(n,1) = P1; %#ok<*SAGROW>
power(n,2) = P2;
power(n,3) = P3;
cst(n,1) = F1;
cst(n,2) = F2;
cst(n,3) = F3;
cst(n,4) = Ft;
end
% Initialize arrays
power_array = zeros(3,60);
cst_array = zeros(4,60);
% Store power values
power_array(k, 🙂 = [P1, P2, P3];
% Store cost values
cst_array(k, 🙂 = [cst1, cst2, cst3, cst4];
% Display results
disp(‘Final Power Values:’);
disp(power_array(end, :));
disp(‘Final Cost Values’);
disp(cst(end, :));
% Plot power values
figure;
plot(3:60, power);
title(‘Power Values’);
xlabel(‘Iterations’);
ylabel(‘Power (MW)’);
legend(‘P1’, ‘P2’, ‘P3’);
% Plot cost values
figure;
plot(4:60, cst);
title(‘Cost Values’);
xlabel(‘Iterations’);
ylabel(‘Cost ($/hr)’);
legend(‘F1’, ‘F2’, ‘F3’, ‘F4’); preallocate, array, store data, display data MATLAB Answers — New Questions
How can i put the values in gradient of a function obtained through the gradient command?
TT=[1 1 1 1];
syms p0 p1 p2 p3 p4;
f_function = log(noise+p1*TT(1)+p2*TT(2)+p3*TT(3)+p4*TT(4));
f_gradient = gradient(f_function,[p0, p1, p2, p3, p4]);
f_gradient = f_gradient.’
Here I got f_gradient function of p1,p2,p3, p4.
now i want to evaluate it by putting p0=2, p1=2,..likewise…
How can I do this.TT=[1 1 1 1];
syms p0 p1 p2 p3 p4;
f_function = log(noise+p1*TT(1)+p2*TT(2)+p3*TT(3)+p4*TT(4));
f_gradient = gradient(f_function,[p0, p1, p2, p3, p4]);
f_gradient = f_gradient.’
Here I got f_gradient function of p1,p2,p3, p4.
now i want to evaluate it by putting p0=2, p1=2,..likewise…
How can I do this. TT=[1 1 1 1];
syms p0 p1 p2 p3 p4;
f_function = log(noise+p1*TT(1)+p2*TT(2)+p3*TT(3)+p4*TT(4));
f_gradient = gradient(f_function,[p0, p1, p2, p3, p4]);
f_gradient = f_gradient.’
Here I got f_gradient function of p1,p2,p3, p4.
now i want to evaluate it by putting p0=2, p1=2,..likewise…
How can I do this. gradient MATLAB Answers — New Questions
Radially Symmetric Heatmap in a Sphere
I’m doing a project on the neutron diffusion equation in a spherical coordinate system. I’m looking to make an animation of what is essentially just a heatmap showing heat (representing flux) radiating outward from the center of the sphere, and I would like to be able to change paramaters like the absorption cross-section and the fission cross-section to show differing intensities of diffusion. I’m pretty new to MatLab and I don’t really know how I would go about doing this. Is this feasible to do in MatLab?I’m doing a project on the neutron diffusion equation in a spherical coordinate system. I’m looking to make an animation of what is essentially just a heatmap showing heat (representing flux) radiating outward from the center of the sphere, and I would like to be able to change paramaters like the absorption cross-section and the fission cross-section to show differing intensities of diffusion. I’m pretty new to MatLab and I don’t really know how I would go about doing this. Is this feasible to do in MatLab? I’m doing a project on the neutron diffusion equation in a spherical coordinate system. I’m looking to make an animation of what is essentially just a heatmap showing heat (representing flux) radiating outward from the center of the sphere, and I would like to be able to change paramaters like the absorption cross-section and the fission cross-section to show differing intensities of diffusion. I’m pretty new to MatLab and I don’t really know how I would go about doing this. Is this feasible to do in MatLab? sphere, heatmap MATLAB Answers — New Questions
COM – Feval() passing a table as a Double[,] is as expected, nonetheless c# Dictionary.ToArray() returns a Double[][] (what is called a jagged array)
What would a best practice be in passing a Dictionary like structure into a matlab function such as "cov" using COM’s Feval() … take the below example:
SortedDictionary<DateTime, Double[]> tableTT;
…
matlab.Feval("cov", 1, out result, tableTT.Values.ToArray());
will fail, as ToArray() returns a jagged array.
Is there a way to avoid using a "conversion" function, such as:
static double[,] ImperativeConvert(double[][] source)
{
double[,] result = new double[source.Length, source[0].Length];
for (int i = 0; i < source.Length; i++)
{
for (int k = 0; k < source[0].Length; k++)
{
result[i, k] = source[i][k];
}
}
return result;
}
to convert the jagged array into a two-dimentional array?What would a best practice be in passing a Dictionary like structure into a matlab function such as "cov" using COM’s Feval() … take the below example:
SortedDictionary<DateTime, Double[]> tableTT;
…
matlab.Feval("cov", 1, out result, tableTT.Values.ToArray());
will fail, as ToArray() returns a jagged array.
Is there a way to avoid using a "conversion" function, such as:
static double[,] ImperativeConvert(double[][] source)
{
double[,] result = new double[source.Length, source[0].Length];
for (int i = 0; i < source.Length; i++)
{
for (int k = 0; k < source[0].Length; k++)
{
result[i, k] = source[i][k];
}
}
return result;
}
to convert the jagged array into a two-dimentional array? What would a best practice be in passing a Dictionary like structure into a matlab function such as "cov" using COM’s Feval() … take the below example:
SortedDictionary<DateTime, Double[]> tableTT;
…
matlab.Feval("cov", 1, out result, tableTT.Values.ToArray());
will fail, as ToArray() returns a jagged array.
Is there a way to avoid using a "conversion" function, such as:
static double[,] ImperativeConvert(double[][] source)
{
double[,] result = new double[source.Length, source[0].Length];
for (int i = 0; i < source.Length; i++)
{
for (int k = 0; k < source[0].Length; k++)
{
result[i, k] = source[i][k];
}
}
return result;
}
to convert the jagged array into a two-dimentional array? matlab, feval, jagged array, two-dimentional array MATLAB Answers — New Questions
How to save all state in my App Designer app?
I have built an app for a specialized scientific analysis using App Designer. It is a complex interface with 8 tabs, and well over 100 controls. And it will grow.
It would be very helpful if I could provide my users with a "Save all settings" button. Question: is there a good way to programmatically enumerate all Components (as distinct from other properties or methods) in the app? And then, to read or set the value for each?I have built an app for a specialized scientific analysis using App Designer. It is a complex interface with 8 tabs, and well over 100 controls. And it will grow.
It would be very helpful if I could provide my users with a "Save all settings" button. Question: is there a good way to programmatically enumerate all Components (as distinct from other properties or methods) in the app? And then, to read or set the value for each? I have built an app for a specialized scientific analysis using App Designer. It is a complex interface with 8 tabs, and well over 100 controls. And it will grow.
It would be very helpful if I could provide my users with a "Save all settings" button. Question: is there a good way to programmatically enumerate all Components (as distinct from other properties or methods) in the app? And then, to read or set the value for each? appdesigner, save MATLAB Answers — New Questions
How to “shake loose” an auto scaling graph when it doesn’t autoscale?
Scenario: I load some data, a time series, into a uiaxes component. Everything looks beautiful:
My user then chooses a shorter portion of that series to work on. I redisplay the shorter data in the same uiaxes, and it doesn’t resize:
Question: how to "shake it loose" and cause it to redo the auto scaling? I don’t want to explicitly set the bounds of the graph if I don’t have to, because then it is no longer auto scaling at all, and that’s a pain. Is there a way to do this?Scenario: I load some data, a time series, into a uiaxes component. Everything looks beautiful:
My user then chooses a shorter portion of that series to work on. I redisplay the shorter data in the same uiaxes, and it doesn’t resize:
Question: how to "shake it loose" and cause it to redo the auto scaling? I don’t want to explicitly set the bounds of the graph if I don’t have to, because then it is no longer auto scaling at all, and that’s a pain. Is there a way to do this? Scenario: I load some data, a time series, into a uiaxes component. Everything looks beautiful:
My user then chooses a shorter portion of that series to work on. I redisplay the shorter data in the same uiaxes, and it doesn’t resize:
Question: how to "shake it loose" and cause it to redo the auto scaling? I don’t want to explicitly set the bounds of the graph if I don’t have to, because then it is no longer auto scaling at all, and that’s a pain. Is there a way to do this? graph, axes, autoscale, matlab MATLAB Answers — New Questions
How to write output data in excel csv files?
My for loops are as follows;
number of image files are 114
number of shape files are 242
for m = 1:length(imgfiles)
for n = 1:length(shapefiles)
avg_village_ndvi(n,m) = mean(village_ndvi(mask));
avge_village_ndre1(n,m) = mean(village_ndre1(mask));
avg_village_cire(n,m) = mean(village_cire(mask));
CAF(n,m) = nnz(village_ndvi(mask) > 0.4) / (size(village_ndvi,1)*size(village_ndvi,2))
end
end
I want to write these data in seperate excel csv file with file name as ‘c:datandvi_predictors.csv’,’c:datandre1_predictors.csv’,’c:datacire_predictors.csv’ and ‘c:datacaf_predictors.csv’.
I request all to please suggest me how to do it in above mentioned matlab code.
I would appreciate any help in this regard.
DaveMy for loops are as follows;
number of image files are 114
number of shape files are 242
for m = 1:length(imgfiles)
for n = 1:length(shapefiles)
avg_village_ndvi(n,m) = mean(village_ndvi(mask));
avge_village_ndre1(n,m) = mean(village_ndre1(mask));
avg_village_cire(n,m) = mean(village_cire(mask));
CAF(n,m) = nnz(village_ndvi(mask) > 0.4) / (size(village_ndvi,1)*size(village_ndvi,2))
end
end
I want to write these data in seperate excel csv file with file name as ‘c:datandvi_predictors.csv’,’c:datandre1_predictors.csv’,’c:datacire_predictors.csv’ and ‘c:datacaf_predictors.csv’.
I request all to please suggest me how to do it in above mentioned matlab code.
I would appreciate any help in this regard.
Dave My for loops are as follows;
number of image files are 114
number of shape files are 242
for m = 1:length(imgfiles)
for n = 1:length(shapefiles)
avg_village_ndvi(n,m) = mean(village_ndvi(mask));
avge_village_ndre1(n,m) = mean(village_ndre1(mask));
avg_village_cire(n,m) = mean(village_cire(mask));
CAF(n,m) = nnz(village_ndvi(mask) > 0.4) / (size(village_ndvi,1)*size(village_ndvi,2))
end
end
I want to write these data in seperate excel csv file with file name as ‘c:datandvi_predictors.csv’,’c:datandre1_predictors.csv’,’c:datacire_predictors.csv’ and ‘c:datacaf_predictors.csv’.
I request all to please suggest me how to do it in above mentioned matlab code.
I would appreciate any help in this regard.
Dave how to write output data in excel csv files? MATLAB Answers — New Questions
Issue in getting correct probabilities for Landau Zener Problem
I am trying to solve the Landau Zener problem where i have the equations
I have written a code using Finite Difference as given below. The result is wrong. The correct result is
Can anybody help find the error?
clc;
close all;
%———————————————————————–%
v = 0.1; % sweep velocity
delta =4; % coupling parameter between the ground and excited states
t_max = 1000;
dt = 0.1; % time step
t = -t_max:dt:t_max; % defining time range with step size dt
N = length(t);
b=delta/2;
hbar=1;
%—- initial conditions————-
cg(1:N+1)=1; % initial ground state
ce(1:N+1)=0; % initial excited state
for i=1:N % finite difference loop for advancing in time
a=v*t(i)/2;
cg(i+1)=(dt*a*t(i)/1i*hbar)*cg(i)+cg(i)+ dt*b*ce(i)/1i*hbar;
ce(i+1)=-(dt*a*t(i)/1i*hbar)*ce(i)+ce(i) + dt*b*cg(i)/1i*hbar;
end
% plotting the probabilities in ground and excited states
plot(t,abs(cg(1:N).*cg(1:N)),’linewidth’,2)
hold on
plot(t,abs(ce(1:N).*ce(1:N)),’r’,’linewidth’,2)
xlabel(‘Time’);
ylabel(‘Probability’);
legend(‘|c1|^2’, ‘|c2|^2’)I am trying to solve the Landau Zener problem where i have the equations
I have written a code using Finite Difference as given below. The result is wrong. The correct result is
Can anybody help find the error?
clc;
close all;
%———————————————————————–%
v = 0.1; % sweep velocity
delta =4; % coupling parameter between the ground and excited states
t_max = 1000;
dt = 0.1; % time step
t = -t_max:dt:t_max; % defining time range with step size dt
N = length(t);
b=delta/2;
hbar=1;
%—- initial conditions————-
cg(1:N+1)=1; % initial ground state
ce(1:N+1)=0; % initial excited state
for i=1:N % finite difference loop for advancing in time
a=v*t(i)/2;
cg(i+1)=(dt*a*t(i)/1i*hbar)*cg(i)+cg(i)+ dt*b*ce(i)/1i*hbar;
ce(i+1)=-(dt*a*t(i)/1i*hbar)*ce(i)+ce(i) + dt*b*cg(i)/1i*hbar;
end
% plotting the probabilities in ground and excited states
plot(t,abs(cg(1:N).*cg(1:N)),’linewidth’,2)
hold on
plot(t,abs(ce(1:N).*ce(1:N)),’r’,’linewidth’,2)
xlabel(‘Time’);
ylabel(‘Probability’);
legend(‘|c1|^2’, ‘|c2|^2’) I am trying to solve the Landau Zener problem where i have the equations
I have written a code using Finite Difference as given below. The result is wrong. The correct result is
Can anybody help find the error?
clc;
close all;
%———————————————————————–%
v = 0.1; % sweep velocity
delta =4; % coupling parameter between the ground and excited states
t_max = 1000;
dt = 0.1; % time step
t = -t_max:dt:t_max; % defining time range with step size dt
N = length(t);
b=delta/2;
hbar=1;
%—- initial conditions————-
cg(1:N+1)=1; % initial ground state
ce(1:N+1)=0; % initial excited state
for i=1:N % finite difference loop for advancing in time
a=v*t(i)/2;
cg(i+1)=(dt*a*t(i)/1i*hbar)*cg(i)+cg(i)+ dt*b*ce(i)/1i*hbar;
ce(i+1)=-(dt*a*t(i)/1i*hbar)*ce(i)+ce(i) + dt*b*cg(i)/1i*hbar;
end
% plotting the probabilities in ground and excited states
plot(t,abs(cg(1:N).*cg(1:N)),’linewidth’,2)
hold on
plot(t,abs(ce(1:N).*ce(1:N)),’r’,’linewidth’,2)
xlabel(‘Time’);
ylabel(‘Probability’);
legend(‘|c1|^2’, ‘|c2|^2’) numerical integration, finite difference, schrodinger equation, differential equations MATLAB Answers — New Questions
How to output variables properly from a parfor loop
Having read over the documentation and Googled, I have an idea of what I’m not allowed to do in a parfor loop, but can’t seem to find an answer for how to output variables efficiently. I’ve come up with work-arounds that feel quite hacky and inefficient. Is there a better way of achieving these two things below?
First case: store one value once:
loops = 10000000;
b = 0; % Will try to store value in b but it will silently fail
c = {}; % Cell array to (scucessfully) store just one value
parfor ii = 1:loops
var = ii; % It would just start at zero
% Lots of calculation here, that would change "var" and output other variables too %
if ii == 12345
disp(var)
b = var; % Doesn’t get changed, even though there is no parallelism conflict
c{ii} = var; % Does get set
end
end
b % b is still zero
c = c{end} % Reduce cell array to just one variable. Works
Second case: store a value once every step number of loops:
loops = 10000000;
step = 10000;
a = zeros(loops,1); % Having to create one element for every loop (many more than actually used)
parfor ii = 1:loops
var = ii; % It would just start at zero
% Lots of calculation here, that changes "var" and outputs other variables too %
if mod(ii, step) == 0
a(ii) = var;
end
end
% Remove unused elements. This works, but I had to create a massive array that
% I imagine uses a lot of memory.
a = a(step:step:loops);
Thanks.Having read over the documentation and Googled, I have an idea of what I’m not allowed to do in a parfor loop, but can’t seem to find an answer for how to output variables efficiently. I’ve come up with work-arounds that feel quite hacky and inefficient. Is there a better way of achieving these two things below?
First case: store one value once:
loops = 10000000;
b = 0; % Will try to store value in b but it will silently fail
c = {}; % Cell array to (scucessfully) store just one value
parfor ii = 1:loops
var = ii; % It would just start at zero
% Lots of calculation here, that would change "var" and output other variables too %
if ii == 12345
disp(var)
b = var; % Doesn’t get changed, even though there is no parallelism conflict
c{ii} = var; % Does get set
end
end
b % b is still zero
c = c{end} % Reduce cell array to just one variable. Works
Second case: store a value once every step number of loops:
loops = 10000000;
step = 10000;
a = zeros(loops,1); % Having to create one element for every loop (many more than actually used)
parfor ii = 1:loops
var = ii; % It would just start at zero
% Lots of calculation here, that changes "var" and outputs other variables too %
if mod(ii, step) == 0
a(ii) = var;
end
end
% Remove unused elements. This works, but I had to create a massive array that
% I imagine uses a lot of memory.
a = a(step:step:loops);
Thanks. Having read over the documentation and Googled, I have an idea of what I’m not allowed to do in a parfor loop, but can’t seem to find an answer for how to output variables efficiently. I’ve come up with work-arounds that feel quite hacky and inefficient. Is there a better way of achieving these two things below?
First case: store one value once:
loops = 10000000;
b = 0; % Will try to store value in b but it will silently fail
c = {}; % Cell array to (scucessfully) store just one value
parfor ii = 1:loops
var = ii; % It would just start at zero
% Lots of calculation here, that would change "var" and output other variables too %
if ii == 12345
disp(var)
b = var; % Doesn’t get changed, even though there is no parallelism conflict
c{ii} = var; % Does get set
end
end
b % b is still zero
c = c{end} % Reduce cell array to just one variable. Works
Second case: store a value once every step number of loops:
loops = 10000000;
step = 10000;
a = zeros(loops,1); % Having to create one element for every loop (many more than actually used)
parfor ii = 1:loops
var = ii; % It would just start at zero
% Lots of calculation here, that changes "var" and outputs other variables too %
if mod(ii, step) == 0
a(ii) = var;
end
end
% Remove unused elements. This works, but I had to create a massive array that
% I imagine uses a lot of memory.
a = a(step:step:loops);
Thanks. parfor, parallel computing, variable MATLAB Answers — New Questions
SVM: Does specifying a prior change the cost matrix?
I have an unbalanced data set (1:5). In the documentation, it states:
"If you specify a cost matrix, then the software updates the prior probabilities by incorporating the penalties described in the cost matrix for training."
Does this also work in reverse – i.e. does specifying a prior change the cost matrix? If not, why not? Can you specify both at the same time?
If it does update the cost matrix, then is it correct to leave the prior as the default of "empirical" (which means matched to the training data) and expect it to update the cost matrix accordingly? I guess this will depend on whether I expect the test data (and real world data) to have a 1:5 ratio, right? If I want to to be just as good at classifying one class as the other, should I just specify priors of 0.5 for each of the two classes, or do I need to change the cost matrix too?
Thanks.I have an unbalanced data set (1:5). In the documentation, it states:
"If you specify a cost matrix, then the software updates the prior probabilities by incorporating the penalties described in the cost matrix for training."
Does this also work in reverse – i.e. does specifying a prior change the cost matrix? If not, why not? Can you specify both at the same time?
If it does update the cost matrix, then is it correct to leave the prior as the default of "empirical" (which means matched to the training data) and expect it to update the cost matrix accordingly? I guess this will depend on whether I expect the test data (and real world data) to have a 1:5 ratio, right? If I want to to be just as good at classifying one class as the other, should I just specify priors of 0.5 for each of the two classes, or do I need to change the cost matrix too?
Thanks. I have an unbalanced data set (1:5). In the documentation, it states:
"If you specify a cost matrix, then the software updates the prior probabilities by incorporating the penalties described in the cost matrix for training."
Does this also work in reverse – i.e. does specifying a prior change the cost matrix? If not, why not? Can you specify both at the same time?
If it does update the cost matrix, then is it correct to leave the prior as the default of "empirical" (which means matched to the training data) and expect it to update the cost matrix accordingly? I guess this will depend on whether I expect the test data (and real world data) to have a 1:5 ratio, right? If I want to to be just as good at classifying one class as the other, should I just specify priors of 0.5 for each of the two classes, or do I need to change the cost matrix too?
Thanks. svm, fitcsvm, prior, cost matrix, unbalanced MATLAB Answers — New Questions
Stop an app designer callback thread like the debugger does?
It is evident that whenever the user clicks a button in an app designer app, the callback is called in a new thread. The debugger takes advantage of this, the red "stop" square button obviously terminates the currently running callback thread. Very clean, very effective.
Now, is there any way that I as a programmer can do the same thing? Here’s my problem. I’m building a scientific analysis program, and the users have a lot of options. The wrong options combined with the wrong data can produce a VERY long-running computation, and the user has no good way of getting out of it. Indeed, my users are tending to click extra buttons, setting yet more computations in motion, and it ends up in a meltdown.
So, can I kill the thread, or do I just have to put checkpoints in all my long-running code and check for a stop variable?It is evident that whenever the user clicks a button in an app designer app, the callback is called in a new thread. The debugger takes advantage of this, the red "stop" square button obviously terminates the currently running callback thread. Very clean, very effective.
Now, is there any way that I as a programmer can do the same thing? Here’s my problem. I’m building a scientific analysis program, and the users have a lot of options. The wrong options combined with the wrong data can produce a VERY long-running computation, and the user has no good way of getting out of it. Indeed, my users are tending to click extra buttons, setting yet more computations in motion, and it ends up in a meltdown.
So, can I kill the thread, or do I just have to put checkpoints in all my long-running code and check for a stop variable? It is evident that whenever the user clicks a button in an app designer app, the callback is called in a new thread. The debugger takes advantage of this, the red "stop" square button obviously terminates the currently running callback thread. Very clean, very effective.
Now, is there any way that I as a programmer can do the same thing? Here’s my problem. I’m building a scientific analysis program, and the users have a lot of options. The wrong options combined with the wrong data can produce a VERY long-running computation, and the user has no good way of getting out of it. Indeed, my users are tending to click extra buttons, setting yet more computations in motion, and it ends up in a meltdown.
So, can I kill the thread, or do I just have to put checkpoints in all my long-running code and check for a stop variable? appdesigner, thread MATLAB Answers — New Questions
Possible to iterate over table rows without a loop index variable?
To iterate over the variables (columns) of a table, you can do this:
my_table = table([1; 2; 3], [4; 5; 6], ["Seven"; "Eight"; "Nine"])
for var = my_table
disp(var)
end
Is there a way to adjust this to operate on each row without using an index variable? Using a loop index variable, as follows, works fine but is a bit less elegant than the column-by-column solution.
for row_index = 1:height(my_table)
row = my_table(row_index, :);
disp(row)
endTo iterate over the variables (columns) of a table, you can do this:
my_table = table([1; 2; 3], [4; 5; 6], ["Seven"; "Eight"; "Nine"])
for var = my_table
disp(var)
end
Is there a way to adjust this to operate on each row without using an index variable? Using a loop index variable, as follows, works fine but is a bit less elegant than the column-by-column solution.
for row_index = 1:height(my_table)
row = my_table(row_index, :);
disp(row)
end To iterate over the variables (columns) of a table, you can do this:
my_table = table([1; 2; 3], [4; 5; 6], ["Seven"; "Eight"; "Nine"])
for var = my_table
disp(var)
end
Is there a way to adjust this to operate on each row without using an index variable? Using a loop index variable, as follows, works fine but is a bit less elegant than the column-by-column solution.
for row_index = 1:height(my_table)
row = my_table(row_index, :);
disp(row)
end table, rows, iterate MATLAB Answers — New Questions
HOW TO: Object detection using automotive RADAR
I’m working on an automotive RADAR ( FMCW) for object detection specially pedestrians.
And i want to make a prototype of my system, then testing using the HIL (Hardware In Loop ) Method.
Also i’m working on a GUI using CAN.
If you can provide any informations or advice it will very apperiated.
Here is my contact in case someone needs more DATA about the project: laitoussabd@gmail.comI’m working on an automotive RADAR ( FMCW) for object detection specially pedestrians.
And i want to make a prototype of my system, then testing using the HIL (Hardware In Loop ) Method.
Also i’m working on a GUI using CAN.
If you can provide any informations or advice it will very apperiated.
Here is my contact in case someone needs more DATA about the project: laitoussabd@gmail.com I’m working on an automotive RADAR ( FMCW) for object detection specially pedestrians.
And i want to make a prototype of my system, then testing using the HIL (Hardware In Loop ) Method.
Also i’m working on a GUI using CAN.
If you can provide any informations or advice it will very apperiated.
Here is my contact in case someone needs more DATA about the project: laitoussabd@gmail.com fft, radar, automotive, simulink, matlab, hil, signal processing, dsp, fpga, raspbery pi, gui, bus can MATLAB Answers — New Questions
VARFUN() vis a vis GROUPSUMMARY()
If one uses varfun() to group a set of variables, one can set the output variable name(s) as desired — say one has an Amount for a bunch of things and wants a total by group. It’s nice to be able to label the new table variable ‘Amount’ as well for consistency, not being forced to use the automagically generated name.
However, if one has N groups overall but for one subsection (say a given month out of table of a year or more of data) there is no total for a given group, then one cannot get a zero total for that group for that given month; one only gets the group totals that are present. This also then creates the need to code the use of the result to handle the fact there may not be a value/variable of a given class; also a bother in not having perfectly generic code. (As a side issue, it would surely be nice to also have an option to not return the ‘GrouopCounts’ variable although if one is going to be forced to code around the zero case, then it has its use; I much prefer to have all the code generic instead).
Alternatively, one can use groupsummary() that has the optional input parameter to return the empty groups; but for some reason it won’t let you name the output variable so one has to write another line of code to do that. WHY?
Do others find this as annoying as I; is it worthy of an enhancement request?If one uses varfun() to group a set of variables, one can set the output variable name(s) as desired — say one has an Amount for a bunch of things and wants a total by group. It’s nice to be able to label the new table variable ‘Amount’ as well for consistency, not being forced to use the automagically generated name.
However, if one has N groups overall but for one subsection (say a given month out of table of a year or more of data) there is no total for a given group, then one cannot get a zero total for that group for that given month; one only gets the group totals that are present. This also then creates the need to code the use of the result to handle the fact there may not be a value/variable of a given class; also a bother in not having perfectly generic code. (As a side issue, it would surely be nice to also have an option to not return the ‘GrouopCounts’ variable although if one is going to be forced to code around the zero case, then it has its use; I much prefer to have all the code generic instead).
Alternatively, one can use groupsummary() that has the optional input parameter to return the empty groups; but for some reason it won’t let you name the output variable so one has to write another line of code to do that. WHY?
Do others find this as annoying as I; is it worthy of an enhancement request? If one uses varfun() to group a set of variables, one can set the output variable name(s) as desired — say one has an Amount for a bunch of things and wants a total by group. It’s nice to be able to label the new table variable ‘Amount’ as well for consistency, not being forced to use the automagically generated name.
However, if one has N groups overall but for one subsection (say a given month out of table of a year or more of data) there is no total for a given group, then one cannot get a zero total for that group for that given month; one only gets the group totals that are present. This also then creates the need to code the use of the result to handle the fact there may not be a value/variable of a given class; also a bother in not having perfectly generic code. (As a side issue, it would surely be nice to also have an option to not return the ‘GrouopCounts’ variable although if one is going to be forced to code around the zero case, then it has its use; I much prefer to have all the code generic instead).
Alternatively, one can use groupsummary() that has the optional input parameter to return the empty groups; but for some reason it won’t let you name the output variable so one has to write another line of code to do that. WHY?
Do others find this as annoying as I; is it worthy of an enhancement request? rowfun, varfun, options MATLAB Answers — New Questions