Month: February 2025
Error configuring Arduino Uno R4 Minima in MATLAB 2024b
I’m encountering an error when trying to set up my Arduino Uno R4 Minima in MATLAB 2024b. After connecting the device to my computer and selecting the board in the "Hardware Setup" section, I receive the following error:
output argument "boardname" (and possibly others) not assigned a value in the execution of "arduino.setup.internal/HardwareInterface/getTargetName" function.I’m encountering an error when trying to set up my Arduino Uno R4 Minima in MATLAB 2024b. After connecting the device to my computer and selecting the board in the "Hardware Setup" section, I receive the following error:
output argument "boardname" (and possibly others) not assigned a value in the execution of "arduino.setup.internal/HardwareInterface/getTargetName" function. I’m encountering an error when trying to set up my Arduino Uno R4 Minima in MATLAB 2024b. After connecting the device to my computer and selecting the board in the "Hardware Setup" section, I receive the following error:
output argument "boardname" (and possibly others) not assigned a value in the execution of "arduino.setup.internal/HardwareInterface/getTargetName" function. arduino uno r4 minima, arduino, hard, package for arduino, uno r4 MATLAB Answers — New Questions
Clicking on hyperlink for an “example” on MATLAB command line help changes my current directory
This is not a question per se but a comment/complaint. Changing current directory is so disruptive. All I want to do is to just read the example. Anyone feel the same ?This is not a question per se but a comment/complaint. Changing current directory is so disruptive. All I want to do is to just read the example. Anyone feel the same ? This is not a question per se but a comment/complaint. Changing current directory is so disruptive. All I want to do is to just read the example. Anyone feel the same ? matlab help command window example MATLAB Answers — New Questions
I received a message : “We are unable to offer you a trial.” Why?
I received the message : "We are unable to offer you a trial." when I asked for one. Why did it say that?I received the message : "We are unable to offer you a trial." when I asked for one. Why did it say that? I received the message : "We are unable to offer you a trial." when I asked for one. Why did it say that? trial MATLAB Answers — New Questions
How to develop a matlab code for ”A closed path with shortest distance value starting from node i and passing through every node exactly once.”
Hi, please help me to devewlop the code of the following problem.
I am stating the problem in very simple way:
”I have 15 by 15 matrix. I need a closed path with shortest distance value starting from node i and passing through every node exactly once, where i= 1,2,…15.”
distanceMatrix = [
0 1214 1450 1130 1669 1964 1474 2286 827 176 1377 1735 1465 302 1471;
1214 0 2143 114 1802 1808 2169 1241 1158 1293 1074 690 2168 1029 2164;
1450 2143 0 2126 1317 1568 139 3318 989 1266 1679 2767 71.2 1360 30.8;
1130 114 2126 0 1852 1859 2196 1192 1185 1226 1125 641 2194 985 2190;
1669 1802 1317 1852 0 400 1451 3027 852 1591 754 2476 1383 1378 1317;
1964 1808 1568 1859 400 0 1700 3034 1159 1883 742 2483 1632 1670 1566;
1474 2169 139 2196 1451 1700 0 3349 1072 1289 1799 2798 69.4 1383 142;
2286 1241 3318 1192 3027 3034 3349 0 2341 2377 2300 560 3370 2135 3365;
827 1158 989 1185 852 1159 1072 2341 0 746 781 1792 1048 544 1016;
176 1293 1266 1226 1591 1883 1289 2377 746 0 1319 1825 1283 276 1290;
1377 1074 1679 1125 754 742 1799 2300 781 1319 0 1715 1695 1087 1656;
1735 690 2767 641 2476 2483 2798 560 1792 1825 1715 0 2819 1584 2815;
1465 2168 71.2 2194 1383 1632 69.4 3370 1048 1283 1695 2819 0 1389 87.4;
302 1029 1360 985 1378 1670 1383 2135 544 276 1087 1584 1389 0 1385;
1471 2164 30.8 2190 1317 1566 142 3365 1016 1290 1656 2815 87.4 1385 0
];Hi, please help me to devewlop the code of the following problem.
I am stating the problem in very simple way:
”I have 15 by 15 matrix. I need a closed path with shortest distance value starting from node i and passing through every node exactly once, where i= 1,2,…15.”
distanceMatrix = [
0 1214 1450 1130 1669 1964 1474 2286 827 176 1377 1735 1465 302 1471;
1214 0 2143 114 1802 1808 2169 1241 1158 1293 1074 690 2168 1029 2164;
1450 2143 0 2126 1317 1568 139 3318 989 1266 1679 2767 71.2 1360 30.8;
1130 114 2126 0 1852 1859 2196 1192 1185 1226 1125 641 2194 985 2190;
1669 1802 1317 1852 0 400 1451 3027 852 1591 754 2476 1383 1378 1317;
1964 1808 1568 1859 400 0 1700 3034 1159 1883 742 2483 1632 1670 1566;
1474 2169 139 2196 1451 1700 0 3349 1072 1289 1799 2798 69.4 1383 142;
2286 1241 3318 1192 3027 3034 3349 0 2341 2377 2300 560 3370 2135 3365;
827 1158 989 1185 852 1159 1072 2341 0 746 781 1792 1048 544 1016;
176 1293 1266 1226 1591 1883 1289 2377 746 0 1319 1825 1283 276 1290;
1377 1074 1679 1125 754 742 1799 2300 781 1319 0 1715 1695 1087 1656;
1735 690 2767 641 2476 2483 2798 560 1792 1825 1715 0 2819 1584 2815;
1465 2168 71.2 2194 1383 1632 69.4 3370 1048 1283 1695 2819 0 1389 87.4;
302 1029 1360 985 1378 1670 1383 2135 544 276 1087 1584 1389 0 1385;
1471 2164 30.8 2190 1317 1566 142 3365 1016 1290 1656 2815 87.4 1385 0
]; Hi, please help me to devewlop the code of the following problem.
I am stating the problem in very simple way:
”I have 15 by 15 matrix. I need a closed path with shortest distance value starting from node i and passing through every node exactly once, where i= 1,2,…15.”
distanceMatrix = [
0 1214 1450 1130 1669 1964 1474 2286 827 176 1377 1735 1465 302 1471;
1214 0 2143 114 1802 1808 2169 1241 1158 1293 1074 690 2168 1029 2164;
1450 2143 0 2126 1317 1568 139 3318 989 1266 1679 2767 71.2 1360 30.8;
1130 114 2126 0 1852 1859 2196 1192 1185 1226 1125 641 2194 985 2190;
1669 1802 1317 1852 0 400 1451 3027 852 1591 754 2476 1383 1378 1317;
1964 1808 1568 1859 400 0 1700 3034 1159 1883 742 2483 1632 1670 1566;
1474 2169 139 2196 1451 1700 0 3349 1072 1289 1799 2798 69.4 1383 142;
2286 1241 3318 1192 3027 3034 3349 0 2341 2377 2300 560 3370 2135 3365;
827 1158 989 1185 852 1159 1072 2341 0 746 781 1792 1048 544 1016;
176 1293 1266 1226 1591 1883 1289 2377 746 0 1319 1825 1283 276 1290;
1377 1074 1679 1125 754 742 1799 2300 781 1319 0 1715 1695 1087 1656;
1735 690 2767 641 2476 2483 2798 560 1792 1825 1715 0 2819 1584 2815;
1465 2168 71.2 2194 1383 1632 69.4 3370 1048 1283 1695 2819 0 1389 87.4;
302 1029 1360 985 1378 1670 1383 2135 544 276 1087 1584 1389 0 1385;
1471 2164 30.8 2190 1317 1566 142 3365 1016 1290 1656 2815 87.4 1385 0
]; matlab MATLAB Answers — New Questions
Error: Phasor block is not allowed with the Continuous or Discrete simulation method
Hi,
I am simulating a microgrid which consists of a synchronous machine (which models a diesel generator), wind turbine and load. The wind turbine model requires a phasor simulation type (in the configuration parameter of the powergui). However, the rest of models require a discrete simulation type. Running the simulation for the microgrid model using a discrete simulation type gave the error:
The ‘microgridModel_DG_WT_Load/Wind Subsystem/B25_WF Bus Data acquisition/Sequence Analyzer (Phasor Type)’ Phasor block is not allowed with the Continuous or Discrete simulation method.
May I know how do I go about solving this problem? Any help or advice would really be greatly appreciated!Hi,
I am simulating a microgrid which consists of a synchronous machine (which models a diesel generator), wind turbine and load. The wind turbine model requires a phasor simulation type (in the configuration parameter of the powergui). However, the rest of models require a discrete simulation type. Running the simulation for the microgrid model using a discrete simulation type gave the error:
The ‘microgridModel_DG_WT_Load/Wind Subsystem/B25_WF Bus Data acquisition/Sequence Analyzer (Phasor Type)’ Phasor block is not allowed with the Continuous or Discrete simulation method.
May I know how do I go about solving this problem? Any help or advice would really be greatly appreciated! Hi,
I am simulating a microgrid which consists of a synchronous machine (which models a diesel generator), wind turbine and load. The wind turbine model requires a phasor simulation type (in the configuration parameter of the powergui). However, the rest of models require a discrete simulation type. Running the simulation for the microgrid model using a discrete simulation type gave the error:
The ‘microgridModel_DG_WT_Load/Wind Subsystem/B25_WF Bus Data acquisition/Sequence Analyzer (Phasor Type)’ Phasor block is not allowed with the Continuous or Discrete simulation method.
May I know how do I go about solving this problem? Any help or advice would really be greatly appreciated! simulink, simpowersystems MATLAB Answers — New Questions
Value Function Iteration Code Not Converging
Hello all, I am currently coding a value/policy function iteration code to solve an economic problem. The problem that this is solving for is that there is a certain amount of S and R currently owned (these are the state variables). S and R generate income, which must be allocated to purchase more S and R for the next "round" (S’ and R’, equivalently. S’ and R’ are the control variables). This code solves for the optimal amount of income that should be spent on R’ at any given level of S and R. Right now my code below only works at specific parameter values and does not converge–the error term gets stuck, and I cannot seem to figure out why. My code is below. Any help on what could possibly prevent it from converging would be greatly appreciated. Thank you all in advance!
clc;
clear;
% Model Parameters and initalize matrices
numRisky = 100;
numSafe = 100;
v = (1:numSafe)’ + (1:numRisky);
vnew=ones(numSafe, numRisky);
policy = zeros(numSafe, numRisky);
delta=0.99;
ctol=0.001;
ntol=200;
count=0;
norm=1;
vx = ones(numSafe);
vy = ones(numRisky);
alpha = 1;
while norm>ctol && count<ntol
for R=1:numRisky
riskyReturns = 1:1:3;
numReturns = numel(riskyReturns);
pReturns = (1/numReturns)*ones(1, numReturns);
u = zeros(1, numReturns);
p = zeros(1, numReturns);
for S = 1:numSafe
safeReturn = 2;
for r = 1:numReturns
safeIncome = S*safeReturn;
riskyIncome = R*riskyReturns(r);
posI = safeIncome + riskyIncome;
U = alpha*log(S+R);
W = zeros(1, posI);
for i = 1:posI
if S + (posI-i) > numSafe && R + i <= numRisky
vBar = v(numSafe,R+i) + vx(R+i)*(S+posI-i-numSafe); %conduct linear approximation
W(i) = (1-delta)*U + delta*vBar;
elseif R + i > numRisky && S + (posI-i) <= numSafe
vBar = v(S+posI-i,numRisky) + vy(S+posI-i)*(R+i-numRisky);
W(i) = (1-delta)*U + delta*vBar; %conduct linear approximation
elseif R + i > numRisky && S + (posI-i) > numSafe
vBar = v(numSafe,numRisky) + vx(numRisky)*(S+posI-i-numSafe) + vy(numSafe)*(R+i-numRisky);
W(i) = (1-delta)*U + delta*vBar; %conduct linear approximation
else
W(i) = (1-delta)*U + delta*v(S + (posI – i), R + i); %no linear approximation needed here
end
end
[w, ind] = max(W);
u(r) = w;
p(r) = ind/posI;
end
vnew(S, R) = dot(u, pReturns);
policy(S, R) = dot(p, pReturns);
end
end
%calculate slopes for linear approximation if S’ and R’ are greater than numSafe and numRisky, respectively
for n = 1:numSafe
vx(n) = v(numSafe,n)-v(numSafe-1,n);
end
for m = 1:numRisky
vy(m) = v(m,numRisky)-v(m,numRisky-1);
end
%calculate convergence criteria and update value function
count = count + 1;
norm = max(abs(log(vnew(:)) – log(v(:))));
v = vnew;
disp(‘Iteration:’)
disp(count)
disp(‘Error Term:’)
disp(norm)
endHello all, I am currently coding a value/policy function iteration code to solve an economic problem. The problem that this is solving for is that there is a certain amount of S and R currently owned (these are the state variables). S and R generate income, which must be allocated to purchase more S and R for the next "round" (S’ and R’, equivalently. S’ and R’ are the control variables). This code solves for the optimal amount of income that should be spent on R’ at any given level of S and R. Right now my code below only works at specific parameter values and does not converge–the error term gets stuck, and I cannot seem to figure out why. My code is below. Any help on what could possibly prevent it from converging would be greatly appreciated. Thank you all in advance!
clc;
clear;
% Model Parameters and initalize matrices
numRisky = 100;
numSafe = 100;
v = (1:numSafe)’ + (1:numRisky);
vnew=ones(numSafe, numRisky);
policy = zeros(numSafe, numRisky);
delta=0.99;
ctol=0.001;
ntol=200;
count=0;
norm=1;
vx = ones(numSafe);
vy = ones(numRisky);
alpha = 1;
while norm>ctol && count<ntol
for R=1:numRisky
riskyReturns = 1:1:3;
numReturns = numel(riskyReturns);
pReturns = (1/numReturns)*ones(1, numReturns);
u = zeros(1, numReturns);
p = zeros(1, numReturns);
for S = 1:numSafe
safeReturn = 2;
for r = 1:numReturns
safeIncome = S*safeReturn;
riskyIncome = R*riskyReturns(r);
posI = safeIncome + riskyIncome;
U = alpha*log(S+R);
W = zeros(1, posI);
for i = 1:posI
if S + (posI-i) > numSafe && R + i <= numRisky
vBar = v(numSafe,R+i) + vx(R+i)*(S+posI-i-numSafe); %conduct linear approximation
W(i) = (1-delta)*U + delta*vBar;
elseif R + i > numRisky && S + (posI-i) <= numSafe
vBar = v(S+posI-i,numRisky) + vy(S+posI-i)*(R+i-numRisky);
W(i) = (1-delta)*U + delta*vBar; %conduct linear approximation
elseif R + i > numRisky && S + (posI-i) > numSafe
vBar = v(numSafe,numRisky) + vx(numRisky)*(S+posI-i-numSafe) + vy(numSafe)*(R+i-numRisky);
W(i) = (1-delta)*U + delta*vBar; %conduct linear approximation
else
W(i) = (1-delta)*U + delta*v(S + (posI – i), R + i); %no linear approximation needed here
end
end
[w, ind] = max(W);
u(r) = w;
p(r) = ind/posI;
end
vnew(S, R) = dot(u, pReturns);
policy(S, R) = dot(p, pReturns);
end
end
%calculate slopes for linear approximation if S’ and R’ are greater than numSafe and numRisky, respectively
for n = 1:numSafe
vx(n) = v(numSafe,n)-v(numSafe-1,n);
end
for m = 1:numRisky
vy(m) = v(m,numRisky)-v(m,numRisky-1);
end
%calculate convergence criteria and update value function
count = count + 1;
norm = max(abs(log(vnew(:)) – log(v(:))));
v = vnew;
disp(‘Iteration:’)
disp(count)
disp(‘Error Term:’)
disp(norm)
end Hello all, I am currently coding a value/policy function iteration code to solve an economic problem. The problem that this is solving for is that there is a certain amount of S and R currently owned (these are the state variables). S and R generate income, which must be allocated to purchase more S and R for the next "round" (S’ and R’, equivalently. S’ and R’ are the control variables). This code solves for the optimal amount of income that should be spent on R’ at any given level of S and R. Right now my code below only works at specific parameter values and does not converge–the error term gets stuck, and I cannot seem to figure out why. My code is below. Any help on what could possibly prevent it from converging would be greatly appreciated. Thank you all in advance!
clc;
clear;
% Model Parameters and initalize matrices
numRisky = 100;
numSafe = 100;
v = (1:numSafe)’ + (1:numRisky);
vnew=ones(numSafe, numRisky);
policy = zeros(numSafe, numRisky);
delta=0.99;
ctol=0.001;
ntol=200;
count=0;
norm=1;
vx = ones(numSafe);
vy = ones(numRisky);
alpha = 1;
while norm>ctol && count<ntol
for R=1:numRisky
riskyReturns = 1:1:3;
numReturns = numel(riskyReturns);
pReturns = (1/numReturns)*ones(1, numReturns);
u = zeros(1, numReturns);
p = zeros(1, numReturns);
for S = 1:numSafe
safeReturn = 2;
for r = 1:numReturns
safeIncome = S*safeReturn;
riskyIncome = R*riskyReturns(r);
posI = safeIncome + riskyIncome;
U = alpha*log(S+R);
W = zeros(1, posI);
for i = 1:posI
if S + (posI-i) > numSafe && R + i <= numRisky
vBar = v(numSafe,R+i) + vx(R+i)*(S+posI-i-numSafe); %conduct linear approximation
W(i) = (1-delta)*U + delta*vBar;
elseif R + i > numRisky && S + (posI-i) <= numSafe
vBar = v(S+posI-i,numRisky) + vy(S+posI-i)*(R+i-numRisky);
W(i) = (1-delta)*U + delta*vBar; %conduct linear approximation
elseif R + i > numRisky && S + (posI-i) > numSafe
vBar = v(numSafe,numRisky) + vx(numRisky)*(S+posI-i-numSafe) + vy(numSafe)*(R+i-numRisky);
W(i) = (1-delta)*U + delta*vBar; %conduct linear approximation
else
W(i) = (1-delta)*U + delta*v(S + (posI – i), R + i); %no linear approximation needed here
end
end
[w, ind] = max(W);
u(r) = w;
p(r) = ind/posI;
end
vnew(S, R) = dot(u, pReturns);
policy(S, R) = dot(p, pReturns);
end
end
%calculate slopes for linear approximation if S’ and R’ are greater than numSafe and numRisky, respectively
for n = 1:numSafe
vx(n) = v(numSafe,n)-v(numSafe-1,n);
end
for m = 1:numRisky
vy(m) = v(m,numRisky)-v(m,numRisky-1);
end
%calculate convergence criteria and update value function
count = count + 1;
norm = max(abs(log(vnew(:)) – log(v(:))));
v = vnew;
disp(‘Iteration:’)
disp(count)
disp(‘Error Term:’)
disp(norm)
end value function iteration, bellman, dynamic program, matlab, bellman equation MATLAB Answers — New Questions
Is there a way to disable monovslam frame skipping?
I need to extract poses from each frame in a set of images I’m running visual slam on in real time. It seems that monovslam automatically skipps frames when there’s too much overlap with previously viewed images. ‘SkipMaxFrames’can be set to a minimum of 1. Is there a way to disable this complelety?I need to extract poses from each frame in a set of images I’m running visual slam on in real time. It seems that monovslam automatically skipps frames when there’s too much overlap with previously viewed images. ‘SkipMaxFrames’can be set to a minimum of 1. Is there a way to disable this complelety? I need to extract poses from each frame in a set of images I’m running visual slam on in real time. It seems that monovslam automatically skipps frames when there’s too much overlap with previously viewed images. ‘SkipMaxFrames’can be set to a minimum of 1. Is there a way to disable this complelety? computer vision, slam MATLAB Answers — New Questions
Velocidad Motor paso a paso Nema 17 con Driver L293D en Matlab
Buen dia
Estamos implementando la conexion de un motor nema 17 con driver L293 en Matlab pero en el momento de correr el codigo es lento
Se realiza la prueba en Arduino y funciona bien pero en matlab resulta lento
el motor se encuentra probado, al igual que el driver
se tiene la secuencia de funcionamiento de las bobinas Probada
pero hay un conflicto con la velocidad al momento de subirlo en matlab (Envia las Señales con un intervalo de tiempo muy lento aprox 1 segundo entre pasos)
le estaria muy agradecido si fuera posible responder la duda.
Adjunto el codigo:
function Paso_a_Paso(Pos_Sig)
global ARD; global BASE;
if Pos_Sig>BASE
DIR=0;
Pasos=((Pos_Sig-BASE)*8);
end
if Pos_Sig<BASE
DIR=1;
Pasos=((BASE-Pos_Sig)*8);
end
steps={‘1010’, ‘0010’, ‘0110’, ‘0100’, ‘0101’, ‘0001’, ‘1001’ ,’1000′}; %SECUENCIA
if DIR==1
for(p=0:1:Pasos)
for (i = 1:1:8)
step = steps{i}; % step=1,2,3,4
writeDigitalPin(ARD,’D8′ ,str2double(step(1)));
writeDigitalPin(ARD,’D9′ ,str2double(step(2)));
writeDigitalPin(ARD,’D10′ , str2double(step(3)));
writeDigitalPin(ARD,’D11′ ,str2double(step(4)));
end
end
end
if DIR==0
for(p=0:1:Pasos)
for (i = 8:1:1)
step = steps{i}; % step=1,2,3,4
writeDigitalPin(ARD,’D8′ ,str2double(step(1)));
writeDigitalPin(ARD,’D9′ ,str2double(step(2)));
writeDigitalPin(ARD,’D10′ , str2double(step(3)));
writeDigitalPin(ARD,’D11′ ,str2double(step(4)));
end
end
end
BASE=Pos_Sig;
writeDigitalPin(ARD,’D8′ ,0);
writeDigitalPin(ARD,’D9′ ,0);
writeDigitalPin(ARD,’D10′ , 0);
writeDigitalPin(ARD,’D11′ ,0);
end
Gracias y buen diaBuen dia
Estamos implementando la conexion de un motor nema 17 con driver L293 en Matlab pero en el momento de correr el codigo es lento
Se realiza la prueba en Arduino y funciona bien pero en matlab resulta lento
el motor se encuentra probado, al igual que el driver
se tiene la secuencia de funcionamiento de las bobinas Probada
pero hay un conflicto con la velocidad al momento de subirlo en matlab (Envia las Señales con un intervalo de tiempo muy lento aprox 1 segundo entre pasos)
le estaria muy agradecido si fuera posible responder la duda.
Adjunto el codigo:
function Paso_a_Paso(Pos_Sig)
global ARD; global BASE;
if Pos_Sig>BASE
DIR=0;
Pasos=((Pos_Sig-BASE)*8);
end
if Pos_Sig<BASE
DIR=1;
Pasos=((BASE-Pos_Sig)*8);
end
steps={‘1010’, ‘0010’, ‘0110’, ‘0100’, ‘0101’, ‘0001’, ‘1001’ ,’1000′}; %SECUENCIA
if DIR==1
for(p=0:1:Pasos)
for (i = 1:1:8)
step = steps{i}; % step=1,2,3,4
writeDigitalPin(ARD,’D8′ ,str2double(step(1)));
writeDigitalPin(ARD,’D9′ ,str2double(step(2)));
writeDigitalPin(ARD,’D10′ , str2double(step(3)));
writeDigitalPin(ARD,’D11′ ,str2double(step(4)));
end
end
end
if DIR==0
for(p=0:1:Pasos)
for (i = 8:1:1)
step = steps{i}; % step=1,2,3,4
writeDigitalPin(ARD,’D8′ ,str2double(step(1)));
writeDigitalPin(ARD,’D9′ ,str2double(step(2)));
writeDigitalPin(ARD,’D10′ , str2double(step(3)));
writeDigitalPin(ARD,’D11′ ,str2double(step(4)));
end
end
end
BASE=Pos_Sig;
writeDigitalPin(ARD,’D8′ ,0);
writeDigitalPin(ARD,’D9′ ,0);
writeDigitalPin(ARD,’D10′ , 0);
writeDigitalPin(ARD,’D11′ ,0);
end
Gracias y buen dia Buen dia
Estamos implementando la conexion de un motor nema 17 con driver L293 en Matlab pero en el momento de correr el codigo es lento
Se realiza la prueba en Arduino y funciona bien pero en matlab resulta lento
el motor se encuentra probado, al igual que el driver
se tiene la secuencia de funcionamiento de las bobinas Probada
pero hay un conflicto con la velocidad al momento de subirlo en matlab (Envia las Señales con un intervalo de tiempo muy lento aprox 1 segundo entre pasos)
le estaria muy agradecido si fuera posible responder la duda.
Adjunto el codigo:
function Paso_a_Paso(Pos_Sig)
global ARD; global BASE;
if Pos_Sig>BASE
DIR=0;
Pasos=((Pos_Sig-BASE)*8);
end
if Pos_Sig<BASE
DIR=1;
Pasos=((BASE-Pos_Sig)*8);
end
steps={‘1010’, ‘0010’, ‘0110’, ‘0100’, ‘0101’, ‘0001’, ‘1001’ ,’1000′}; %SECUENCIA
if DIR==1
for(p=0:1:Pasos)
for (i = 1:1:8)
step = steps{i}; % step=1,2,3,4
writeDigitalPin(ARD,’D8′ ,str2double(step(1)));
writeDigitalPin(ARD,’D9′ ,str2double(step(2)));
writeDigitalPin(ARD,’D10′ , str2double(step(3)));
writeDigitalPin(ARD,’D11′ ,str2double(step(4)));
end
end
end
if DIR==0
for(p=0:1:Pasos)
for (i = 8:1:1)
step = steps{i}; % step=1,2,3,4
writeDigitalPin(ARD,’D8′ ,str2double(step(1)));
writeDigitalPin(ARD,’D9′ ,str2double(step(2)));
writeDigitalPin(ARD,’D10′ , str2double(step(3)));
writeDigitalPin(ARD,’D11′ ,str2double(step(4)));
end
end
end
BASE=Pos_Sig;
writeDigitalPin(ARD,’D8′ ,0);
writeDigitalPin(ARD,’D9′ ,0);
writeDigitalPin(ARD,’D10′ , 0);
writeDigitalPin(ARD,’D11′ ,0);
end
Gracias y buen dia ok MATLAB Answers — New Questions
Matlab grpc client support.
Hi,
Do we have matlab support to connect to grpc services.
Thank you.Hi,
Do we have matlab support to connect to grpc services.
Thank you. Hi,
Do we have matlab support to connect to grpc services.
Thank you. matlab grpc support MATLAB Answers — New Questions
Why does containers.Map(‘KeyType’,’double’) silently return a map with KeyType ‘char’ ?
I would have expected an error if the second argument is strictly required. Giving me a wrong map just pushes the error to runtime when I call it with an ‘double’ key. No idea what went into this design.I would have expected an error if the second argument is strictly required. Giving me a wrong map just pushes the error to runtime when I call it with an ‘double’ key. No idea what went into this design. I would have expected an error if the second argument is strictly required. Giving me a wrong map just pushes the error to runtime when I call it with an ‘double’ key. No idea what went into this design. containers map MATLAB Answers — New Questions
RoadRunner not responding after initial install
I have done a fresh install of RoadRunner 2024b and activated the license. Once RoadRunner screen loads, choose to create a new project and selected base without add-ons.
The screen goes blank and no longer responds.
This is a Azure VM with 16GB memory and when i check the log files the errors in the logs are as below:
——–RoadRunner R2024b Update 3 (1.9.3.059d0255441) Log Created on 2025-01-28 at 16:24:23——–
[16:24:23 Logger.cpp(35)] DEV: Logging messages to file ‘C:/Users/bhanu/AppData/Roaming/MathWorks/RoadRunner/R2024b/Logs/2025-01-28(4)/RoadRunner_Log.txt’
[16:24:23 LibraryInit.cpp(70)] Failed to load the Datasmith plugin: DLL load error 126
[16:24:23 LibraryInit.cpp(73)] To export to Unreal Datasmith, download the Unreal Engine prerequisites. For more information on Unreal Datasmith export requirements, see <a href="https://www.mathworks.com/help/roadrunner/ug/export-to-unreal-datasmith.html" style="color:#54b6ff">here</a>.
[16:24:23 pxphysxgpumoduleloader.cpp(123)] DEV: PhysX message: Failed to load PhysXGpu dll!
[16:24:23] Qt message: QWindowsEGLContext: ANGLE only partially supports OpenGL ES > 3.0%3
[16:24:23] Qt message: QWindowsEGLContext: Failed to create context, eglError: 3005, this: 0x144528bbfb0%3
[16:24:23 CoreApplication.cpp(141)] DEV: Application arguments: ‘C:Program FilesRoadRunner R2024bbinwin64AppRoadRunner.exe’
[16:25:17 DatasetInfo.cpp(60)] DEV: Creating new project
[16:25:25 DatasetInfo.cpp(70)] DEV: Loading project from ‘F:/bhanu/secondtest/project2’
[16:25:25 DatasetInfo.cpp(60)] DEV: Creating new scene
[16:25:25] Qt message: QWindowsEGLContext: ANGLE only partially supports OpenGL ES > 3.0%3
[16:25:25] Qt message: QWindowsEGLContext: Failed to create context, eglError: 3005, this: 0x1445d197cd0%3
[16:25:25] Qt message: QOpenGLWidget: Failed to create context%3
[16:25:26] Qt message: QWindowsEGLContext: ANGLE only partially supports OpenGL ES > 3.0%3
[16:25:26] Qt message: QWindowsEGLContext: Failed to create context, eglError: 3005, this: 0x1445d19a7f0%3I have done a fresh install of RoadRunner 2024b and activated the license. Once RoadRunner screen loads, choose to create a new project and selected base without add-ons.
The screen goes blank and no longer responds.
This is a Azure VM with 16GB memory and when i check the log files the errors in the logs are as below:
——–RoadRunner R2024b Update 3 (1.9.3.059d0255441) Log Created on 2025-01-28 at 16:24:23——–
[16:24:23 Logger.cpp(35)] DEV: Logging messages to file ‘C:/Users/bhanu/AppData/Roaming/MathWorks/RoadRunner/R2024b/Logs/2025-01-28(4)/RoadRunner_Log.txt’
[16:24:23 LibraryInit.cpp(70)] Failed to load the Datasmith plugin: DLL load error 126
[16:24:23 LibraryInit.cpp(73)] To export to Unreal Datasmith, download the Unreal Engine prerequisites. For more information on Unreal Datasmith export requirements, see <a href="https://www.mathworks.com/help/roadrunner/ug/export-to-unreal-datasmith.html" style="color:#54b6ff">here</a>.
[16:24:23 pxphysxgpumoduleloader.cpp(123)] DEV: PhysX message: Failed to load PhysXGpu dll!
[16:24:23] Qt message: QWindowsEGLContext: ANGLE only partially supports OpenGL ES > 3.0%3
[16:24:23] Qt message: QWindowsEGLContext: Failed to create context, eglError: 3005, this: 0x144528bbfb0%3
[16:24:23 CoreApplication.cpp(141)] DEV: Application arguments: ‘C:Program FilesRoadRunner R2024bbinwin64AppRoadRunner.exe’
[16:25:17 DatasetInfo.cpp(60)] DEV: Creating new project
[16:25:25 DatasetInfo.cpp(70)] DEV: Loading project from ‘F:/bhanu/secondtest/project2’
[16:25:25 DatasetInfo.cpp(60)] DEV: Creating new scene
[16:25:25] Qt message: QWindowsEGLContext: ANGLE only partially supports OpenGL ES > 3.0%3
[16:25:25] Qt message: QWindowsEGLContext: Failed to create context, eglError: 3005, this: 0x1445d197cd0%3
[16:25:25] Qt message: QOpenGLWidget: Failed to create context%3
[16:25:26] Qt message: QWindowsEGLContext: ANGLE only partially supports OpenGL ES > 3.0%3
[16:25:26] Qt message: QWindowsEGLContext: Failed to create context, eglError: 3005, this: 0x1445d19a7f0%3 I have done a fresh install of RoadRunner 2024b and activated the license. Once RoadRunner screen loads, choose to create a new project and selected base without add-ons.
The screen goes blank and no longer responds.
This is a Azure VM with 16GB memory and when i check the log files the errors in the logs are as below:
——–RoadRunner R2024b Update 3 (1.9.3.059d0255441) Log Created on 2025-01-28 at 16:24:23——–
[16:24:23 Logger.cpp(35)] DEV: Logging messages to file ‘C:/Users/bhanu/AppData/Roaming/MathWorks/RoadRunner/R2024b/Logs/2025-01-28(4)/RoadRunner_Log.txt’
[16:24:23 LibraryInit.cpp(70)] Failed to load the Datasmith plugin: DLL load error 126
[16:24:23 LibraryInit.cpp(73)] To export to Unreal Datasmith, download the Unreal Engine prerequisites. For more information on Unreal Datasmith export requirements, see <a href="https://www.mathworks.com/help/roadrunner/ug/export-to-unreal-datasmith.html" style="color:#54b6ff">here</a>.
[16:24:23 pxphysxgpumoduleloader.cpp(123)] DEV: PhysX message: Failed to load PhysXGpu dll!
[16:24:23] Qt message: QWindowsEGLContext: ANGLE only partially supports OpenGL ES > 3.0%3
[16:24:23] Qt message: QWindowsEGLContext: Failed to create context, eglError: 3005, this: 0x144528bbfb0%3
[16:24:23 CoreApplication.cpp(141)] DEV: Application arguments: ‘C:Program FilesRoadRunner R2024bbinwin64AppRoadRunner.exe’
[16:25:17 DatasetInfo.cpp(60)] DEV: Creating new project
[16:25:25 DatasetInfo.cpp(70)] DEV: Loading project from ‘F:/bhanu/secondtest/project2’
[16:25:25 DatasetInfo.cpp(60)] DEV: Creating new scene
[16:25:25] Qt message: QWindowsEGLContext: ANGLE only partially supports OpenGL ES > 3.0%3
[16:25:25] Qt message: QWindowsEGLContext: Failed to create context, eglError: 3005, this: 0x1445d197cd0%3
[16:25:25] Qt message: QOpenGLWidget: Failed to create context%3
[16:25:26] Qt message: QWindowsEGLContext: ANGLE only partially supports OpenGL ES > 3.0%3
[16:25:26] Qt message: QWindowsEGLContext: Failed to create context, eglError: 3005, this: 0x1445d19a7f0%3 roadrunner MATLAB Answers — New Questions
deepNetworkDesigner: autoscrolling, connection preservation, undoing, and landscaping
I am encountering several issues with deepNetworkDesigner.
(1) I have a large network whose layers do not fit entirely on one screen, or at least not at a magnification level that allows me to easily see, distinguish, and manipulate the layers. How do I connect one layer to a second layer that is off-screen? When I try to drag a connection wire toward the destination layer, the pane does not autoscroll to let me reach it.
(2) I have one layer A that fans out to many output layers C1,C2,…,CN. I now wish to replace A with a different layer. Is there a way to do that, without having to tediously and manually reconnect the N outputs? Similarly, what if I wish to insert a layer B, so that A now feeds only to B but it is B that fans out to C1,C2,C3,…CN. Again, can this be done without breaking all N connections and having to manually redraw them?
(3) Is there a way to undo a change to a network (something like Ctrl-Z)?
(4) Is there a way to reorient the pane so the network flows left to right, instead of top to bottom (something like a landscape mode, rather than portrait).I am encountering several issues with deepNetworkDesigner.
(1) I have a large network whose layers do not fit entirely on one screen, or at least not at a magnification level that allows me to easily see, distinguish, and manipulate the layers. How do I connect one layer to a second layer that is off-screen? When I try to drag a connection wire toward the destination layer, the pane does not autoscroll to let me reach it.
(2) I have one layer A that fans out to many output layers C1,C2,…,CN. I now wish to replace A with a different layer. Is there a way to do that, without having to tediously and manually reconnect the N outputs? Similarly, what if I wish to insert a layer B, so that A now feeds only to B but it is B that fans out to C1,C2,C3,…CN. Again, can this be done without breaking all N connections and having to manually redraw them?
(3) Is there a way to undo a change to a network (something like Ctrl-Z)?
(4) Is there a way to reorient the pane so the network flows left to right, instead of top to bottom (something like a landscape mode, rather than portrait). I am encountering several issues with deepNetworkDesigner.
(1) I have a large network whose layers do not fit entirely on one screen, or at least not at a magnification level that allows me to easily see, distinguish, and manipulate the layers. How do I connect one layer to a second layer that is off-screen? When I try to drag a connection wire toward the destination layer, the pane does not autoscroll to let me reach it.
(2) I have one layer A that fans out to many output layers C1,C2,…,CN. I now wish to replace A with a different layer. Is there a way to do that, without having to tediously and manually reconnect the N outputs? Similarly, what if I wish to insert a layer B, so that A now feeds only to B but it is B that fans out to C1,C2,C3,…CN. Again, can this be done without breaking all N connections and having to manually redraw them?
(3) Is there a way to undo a change to a network (something like Ctrl-Z)?
(4) Is there a way to reorient the pane so the network flows left to right, instead of top to bottom (something like a landscape mode, rather than portrait). deepnetworkdesigner MATLAB Answers — New Questions
Can a signal go to a server ? in simulink
In simulink, I want some incoming signals to be delayed before reaching their final destination. Because I want to have knowledge about how many signals are being delayed and other statistics, I want to use a server instead of a delay block to use its statistics option. Can a signal pass through a entity server? Any ideas?In simulink, I want some incoming signals to be delayed before reaching their final destination. Because I want to have knowledge about how many signals are being delayed and other statistics, I want to use a server instead of a delay block to use its statistics option. Can a signal pass through a entity server? Any ideas? In simulink, I want some incoming signals to be delayed before reaching their final destination. Because I want to have knowledge about how many signals are being delayed and other statistics, I want to use a server instead of a delay block to use its statistics option. Can a signal pass through a entity server? Any ideas? simulink, signal, server, delay MATLAB Answers — New Questions
not able to choose board nor port in arduino hardware setup dialog
in "Hardware Setup" dialog after choosing connection type(USB) and clicking Next button I am not able to choose any value from "choose board" nor "choose port" dropdowns. If I select it using mouse, it just doesn’t change, its value remind "select a value", if I try to change it using keyboard it looks like pressing down/up keys is just ignored…
any ideas, am I missing something?
ubuntu 24.04
matlab R2024b, trial licensein "Hardware Setup" dialog after choosing connection type(USB) and clicking Next button I am not able to choose any value from "choose board" nor "choose port" dropdowns. If I select it using mouse, it just doesn’t change, its value remind "select a value", if I try to change it using keyboard it looks like pressing down/up keys is just ignored…
any ideas, am I missing something?
ubuntu 24.04
matlab R2024b, trial license in "Hardware Setup" dialog after choosing connection type(USB) and clicking Next button I am not able to choose any value from "choose board" nor "choose port" dropdowns. If I select it using mouse, it just doesn’t change, its value remind "select a value", if I try to change it using keyboard it looks like pressing down/up keys is just ignored…
any ideas, am I missing something?
ubuntu 24.04
matlab R2024b, trial license arduino, hardware setup MATLAB Answers — New Questions
how to plot heat map with a 2d graph?
I am facing some troubles to plot this graph attached in the image , I dont know which commands to use , since it has 2d graph with a heat mapI am facing some troubles to plot this graph attached in the image , I dont know which commands to use , since it has 2d graph with a heat map I am facing some troubles to plot this graph attached in the image , I dont know which commands to use , since it has 2d graph with a heat map matlab, plotting MATLAB Answers — New Questions
Having different value for the same function
I have a simple function
P_MCH = [0.20598017,0.270460009,0.313455273];
P_TOL = [0.20598017,0.270460009,0.313455273];
P_H2 = [4.58803966,4.459079983,4.373089453];
Rp = @(p) p(1)* p(2)*P_MCH.*(1-P_TOL.*P_H2.^3/(P_MCH*316.8159);
While running the Rp is calculated as 0.74409.
In excel it is 0.715944
Can you help?I have a simple function
P_MCH = [0.20598017,0.270460009,0.313455273];
P_TOL = [0.20598017,0.270460009,0.313455273];
P_H2 = [4.58803966,4.459079983,4.373089453];
Rp = @(p) p(1)* p(2)*P_MCH.*(1-P_TOL.*P_H2.^3/(P_MCH*316.8159);
While running the Rp is calculated as 0.74409.
In excel it is 0.715944
Can you help? I have a simple function
P_MCH = [0.20598017,0.270460009,0.313455273];
P_TOL = [0.20598017,0.270460009,0.313455273];
P_H2 = [4.58803966,4.459079983,4.373089453];
Rp = @(p) p(1)* p(2)*P_MCH.*(1-P_TOL.*P_H2.^3/(P_MCH*316.8159);
While running the Rp is calculated as 0.74409.
In excel it is 0.715944
Can you help? function MATLAB Answers — New Questions
Why does my system object get an assertion failure error
Hello all
I am kinda new in MATLAB/Simulink,and learning the multi-object tracking task based on simulink by Track Closely Spaced Targets Under Ambiguity in Simulink. I want to finish image tracking task. I already have the target detection result based on YOLO. When I was writing based on the HelperDataLogReader class in the example, an assertion failure occurred. But I have looked up a lot of relevant materials but can’t solve it, and I hope someone can help me. Here is my code and the target detection result of YOLO, thank you so much!
classdef (StrictDefaults)HelperDataReader < …
matlabshared.tracking.internal.SimulinkBusUtilities
% This is a helper block for example purposes and may be removed or
% modified in the future.
%
% Copyright 2019 The MathWorks, Inc.
properties(Constant, Access=protected)
pBusPrefix = ‘BusDataLogReader’
end
properties(Access = public, Nontunable)
Data
end
properties(Nontunable)
Frame = fusionCoordinateFrameType.Rectangular
end
properties(Access = private)
%pCurrentIndex
pCurrentIndex = 0
%pMaxIndex Saved the maximum time step index in the data file
pMaxIndex
end
methods
function obj = HelperDataReader(varargin)
% Constructor
setProperties(obj,nargin,varargin{:});
end
end
methods(Access=protected)
function [out, argsToBus] = defaultOutput(obj)
objAtt = struct(‘Score’,double(1));
out = struct(‘Time’,double(1),…
‘Measurement’,double(zeros(1, 4)),…
‘MeasurementNoise’,double(zeros(4)),…
‘SensorIndex’,double(0),…
‘ObjectClassID’,double(0),…
‘ObjectClassParameters’, [],…
‘ObjectAttributes’,objAtt);
argsToBus = {out};
end
% Currently only support simulink environment, so nothing to do
% here
function y = sendToBus(~,x,varargin)
[newx,num] = objDet2Struct(x);
y = struct(‘Detections’,newx,’NumDetections’,num);
end
function [det, time] = stepImpl(obj)
if ~obj.isEndOfData()
obj.pCurrentIndex = obj.pCurrentIndex + 1;
end
newDet = obj.Data.detections{obj.pCurrentIndex};
det = sendToBus(obj,newDet);
time = newDet(1).Time;
end
function setupImpl(obj, varargin)
obj.Data = load(‘PedestrianTrackingYOLODetections.mat’);
obj.pMaxIndex =numel(obj.Data.detections);
end
function loadObjectImpl(obj,s,wasLocked)
% Set properties in object obj to values in structure s
% Set public properties and states
loadObjectImpl@matlab.System(obj,s,wasLocked);
end
function status = isEndOfData(obj)
% Return true if end of data has been reached
status = (obj.pCurrentIndex == obj.pMaxIndex);
end
function s = saveObjectImpl(obj)
% Set properties in structure s to values in object obj
% Set public properties and states
s = saveObjectImpl@matlab.System(obj);
end
% function varargout = getOutputDataTypeImpl(obj)
% varargout{1} = getOutputDataTypeImpl@matlabshared.tracking.internal.SimulinkBusUtilities(obj);
% varargout{2} = "double";
% end
function str = getIconImpl(~)
str = sprintf(‘HelpernDataLognReader’);
end
function varargout = getOutputNamesImpl(~)
varargout{1} = sprintf(‘Detections’);
varargout{2} = sprintf(‘Time’);
end
function varargout = getInputNamesImpl(~)
varargout{1} = sprintf(‘In’);
end
function [out1,out2] = isOutputFixedSizeImpl(~)
out1 = true;
out2 = true;
end
function [out1,out2] = getOutputSizeImpl(~)
out1 = [1 1];
out2 = [1 1];
end
function [out1,out2] = isOutputComplexImpl(~)
out1 = false;
out2 = false;
end
end
methods(Static, Hidden)
function flag = isAllowedInSystemBlock
flag = true;
end
end
methods(Static, Access=protected)
function header = getHeaderImpl
% Define header panel for System block dialog
header = matlab.system.display.Header(…
‘Title’, ‘DataLogReader’, …
‘Text’, getHeaderText());
end
function simMode = getSimulateUsingImpl
% Return only allowed simulation mode in System block dialog
simMode = ‘Interpreted execution’;
end
function flag = showSimulateUsingImpl
% Return false if simulation mode hidden in System block dialog
flag = false;
end
end
end
function str = getHeaderText
str = sprintf(‘The DataLog reader reads a struct file and it outputs the detection and time.’);
end
function [yDet,num] = objDet2Struct(det)
num = numel(det);
for i =1:num
yDet(i) = struct(‘Time’,det(i).Time,…
‘Measurement’,det(i).Measurement,…
‘MeasurementNoise’,det(i).MeasurementNoise,…
‘SensorIndex’,det(i).SensorIndex,…
‘ObjectClassID’,det(i).ObjectClassID,…
‘ObjectClassParameters’, [],…
‘ObjectAttributes’,det(i).ObjectAttributes); %#ok<AGROW>
end
endHello all
I am kinda new in MATLAB/Simulink,and learning the multi-object tracking task based on simulink by Track Closely Spaced Targets Under Ambiguity in Simulink. I want to finish image tracking task. I already have the target detection result based on YOLO. When I was writing based on the HelperDataLogReader class in the example, an assertion failure occurred. But I have looked up a lot of relevant materials but can’t solve it, and I hope someone can help me. Here is my code and the target detection result of YOLO, thank you so much!
classdef (StrictDefaults)HelperDataReader < …
matlabshared.tracking.internal.SimulinkBusUtilities
% This is a helper block for example purposes and may be removed or
% modified in the future.
%
% Copyright 2019 The MathWorks, Inc.
properties(Constant, Access=protected)
pBusPrefix = ‘BusDataLogReader’
end
properties(Access = public, Nontunable)
Data
end
properties(Nontunable)
Frame = fusionCoordinateFrameType.Rectangular
end
properties(Access = private)
%pCurrentIndex
pCurrentIndex = 0
%pMaxIndex Saved the maximum time step index in the data file
pMaxIndex
end
methods
function obj = HelperDataReader(varargin)
% Constructor
setProperties(obj,nargin,varargin{:});
end
end
methods(Access=protected)
function [out, argsToBus] = defaultOutput(obj)
objAtt = struct(‘Score’,double(1));
out = struct(‘Time’,double(1),…
‘Measurement’,double(zeros(1, 4)),…
‘MeasurementNoise’,double(zeros(4)),…
‘SensorIndex’,double(0),…
‘ObjectClassID’,double(0),…
‘ObjectClassParameters’, [],…
‘ObjectAttributes’,objAtt);
argsToBus = {out};
end
% Currently only support simulink environment, so nothing to do
% here
function y = sendToBus(~,x,varargin)
[newx,num] = objDet2Struct(x);
y = struct(‘Detections’,newx,’NumDetections’,num);
end
function [det, time] = stepImpl(obj)
if ~obj.isEndOfData()
obj.pCurrentIndex = obj.pCurrentIndex + 1;
end
newDet = obj.Data.detections{obj.pCurrentIndex};
det = sendToBus(obj,newDet);
time = newDet(1).Time;
end
function setupImpl(obj, varargin)
obj.Data = load(‘PedestrianTrackingYOLODetections.mat’);
obj.pMaxIndex =numel(obj.Data.detections);
end
function loadObjectImpl(obj,s,wasLocked)
% Set properties in object obj to values in structure s
% Set public properties and states
loadObjectImpl@matlab.System(obj,s,wasLocked);
end
function status = isEndOfData(obj)
% Return true if end of data has been reached
status = (obj.pCurrentIndex == obj.pMaxIndex);
end
function s = saveObjectImpl(obj)
% Set properties in structure s to values in object obj
% Set public properties and states
s = saveObjectImpl@matlab.System(obj);
end
% function varargout = getOutputDataTypeImpl(obj)
% varargout{1} = getOutputDataTypeImpl@matlabshared.tracking.internal.SimulinkBusUtilities(obj);
% varargout{2} = "double";
% end
function str = getIconImpl(~)
str = sprintf(‘HelpernDataLognReader’);
end
function varargout = getOutputNamesImpl(~)
varargout{1} = sprintf(‘Detections’);
varargout{2} = sprintf(‘Time’);
end
function varargout = getInputNamesImpl(~)
varargout{1} = sprintf(‘In’);
end
function [out1,out2] = isOutputFixedSizeImpl(~)
out1 = true;
out2 = true;
end
function [out1,out2] = getOutputSizeImpl(~)
out1 = [1 1];
out2 = [1 1];
end
function [out1,out2] = isOutputComplexImpl(~)
out1 = false;
out2 = false;
end
end
methods(Static, Hidden)
function flag = isAllowedInSystemBlock
flag = true;
end
end
methods(Static, Access=protected)
function header = getHeaderImpl
% Define header panel for System block dialog
header = matlab.system.display.Header(…
‘Title’, ‘DataLogReader’, …
‘Text’, getHeaderText());
end
function simMode = getSimulateUsingImpl
% Return only allowed simulation mode in System block dialog
simMode = ‘Interpreted execution’;
end
function flag = showSimulateUsingImpl
% Return false if simulation mode hidden in System block dialog
flag = false;
end
end
end
function str = getHeaderText
str = sprintf(‘The DataLog reader reads a struct file and it outputs the detection and time.’);
end
function [yDet,num] = objDet2Struct(det)
num = numel(det);
for i =1:num
yDet(i) = struct(‘Time’,det(i).Time,…
‘Measurement’,det(i).Measurement,…
‘MeasurementNoise’,det(i).MeasurementNoise,…
‘SensorIndex’,det(i).SensorIndex,…
‘ObjectClassID’,det(i).ObjectClassID,…
‘ObjectClassParameters’, [],…
‘ObjectAttributes’,det(i).ObjectAttributes); %#ok<AGROW>
end
end Hello all
I am kinda new in MATLAB/Simulink,and learning the multi-object tracking task based on simulink by Track Closely Spaced Targets Under Ambiguity in Simulink. I want to finish image tracking task. I already have the target detection result based on YOLO. When I was writing based on the HelperDataLogReader class in the example, an assertion failure occurred. But I have looked up a lot of relevant materials but can’t solve it, and I hope someone can help me. Here is my code and the target detection result of YOLO, thank you so much!
classdef (StrictDefaults)HelperDataReader < …
matlabshared.tracking.internal.SimulinkBusUtilities
% This is a helper block for example purposes and may be removed or
% modified in the future.
%
% Copyright 2019 The MathWorks, Inc.
properties(Constant, Access=protected)
pBusPrefix = ‘BusDataLogReader’
end
properties(Access = public, Nontunable)
Data
end
properties(Nontunable)
Frame = fusionCoordinateFrameType.Rectangular
end
properties(Access = private)
%pCurrentIndex
pCurrentIndex = 0
%pMaxIndex Saved the maximum time step index in the data file
pMaxIndex
end
methods
function obj = HelperDataReader(varargin)
% Constructor
setProperties(obj,nargin,varargin{:});
end
end
methods(Access=protected)
function [out, argsToBus] = defaultOutput(obj)
objAtt = struct(‘Score’,double(1));
out = struct(‘Time’,double(1),…
‘Measurement’,double(zeros(1, 4)),…
‘MeasurementNoise’,double(zeros(4)),…
‘SensorIndex’,double(0),…
‘ObjectClassID’,double(0),…
‘ObjectClassParameters’, [],…
‘ObjectAttributes’,objAtt);
argsToBus = {out};
end
% Currently only support simulink environment, so nothing to do
% here
function y = sendToBus(~,x,varargin)
[newx,num] = objDet2Struct(x);
y = struct(‘Detections’,newx,’NumDetections’,num);
end
function [det, time] = stepImpl(obj)
if ~obj.isEndOfData()
obj.pCurrentIndex = obj.pCurrentIndex + 1;
end
newDet = obj.Data.detections{obj.pCurrentIndex};
det = sendToBus(obj,newDet);
time = newDet(1).Time;
end
function setupImpl(obj, varargin)
obj.Data = load(‘PedestrianTrackingYOLODetections.mat’);
obj.pMaxIndex =numel(obj.Data.detections);
end
function loadObjectImpl(obj,s,wasLocked)
% Set properties in object obj to values in structure s
% Set public properties and states
loadObjectImpl@matlab.System(obj,s,wasLocked);
end
function status = isEndOfData(obj)
% Return true if end of data has been reached
status = (obj.pCurrentIndex == obj.pMaxIndex);
end
function s = saveObjectImpl(obj)
% Set properties in structure s to values in object obj
% Set public properties and states
s = saveObjectImpl@matlab.System(obj);
end
% function varargout = getOutputDataTypeImpl(obj)
% varargout{1} = getOutputDataTypeImpl@matlabshared.tracking.internal.SimulinkBusUtilities(obj);
% varargout{2} = "double";
% end
function str = getIconImpl(~)
str = sprintf(‘HelpernDataLognReader’);
end
function varargout = getOutputNamesImpl(~)
varargout{1} = sprintf(‘Detections’);
varargout{2} = sprintf(‘Time’);
end
function varargout = getInputNamesImpl(~)
varargout{1} = sprintf(‘In’);
end
function [out1,out2] = isOutputFixedSizeImpl(~)
out1 = true;
out2 = true;
end
function [out1,out2] = getOutputSizeImpl(~)
out1 = [1 1];
out2 = [1 1];
end
function [out1,out2] = isOutputComplexImpl(~)
out1 = false;
out2 = false;
end
end
methods(Static, Hidden)
function flag = isAllowedInSystemBlock
flag = true;
end
end
methods(Static, Access=protected)
function header = getHeaderImpl
% Define header panel for System block dialog
header = matlab.system.display.Header(…
‘Title’, ‘DataLogReader’, …
‘Text’, getHeaderText());
end
function simMode = getSimulateUsingImpl
% Return only allowed simulation mode in System block dialog
simMode = ‘Interpreted execution’;
end
function flag = showSimulateUsingImpl
% Return false if simulation mode hidden in System block dialog
flag = false;
end
end
end
function str = getHeaderText
str = sprintf(‘The DataLog reader reads a struct file and it outputs the detection and time.’);
end
function [yDet,num] = objDet2Struct(det)
num = numel(det);
for i =1:num
yDet(i) = struct(‘Time’,det(i).Time,…
‘Measurement’,det(i).Measurement,…
‘MeasurementNoise’,det(i).MeasurementNoise,…
‘SensorIndex’,det(i).SensorIndex,…
‘ObjectClassID’,det(i).ObjectClassID,…
‘ObjectClassParameters’, [],…
‘ObjectAttributes’,det(i).ObjectAttributes); %#ok<AGROW>
end
end multi-object tracking, sensor fusion and tracking toolbox, system object MATLAB Answers — New Questions
How can I improve this line of code perfomance wise?
When using the profiler to look at the performance of a function I need to work with, I saw that one line takes up much time
invalidIndex = any((coords<ddims(1:3)) | (coords>ddims(4:6)),2);
So it just checks if the point contained are within the bounds. The size of coords is nx3
Is there any way this line can be improved perfomance wise. I couldn’t think of anything else…When using the profiler to look at the performance of a function I need to work with, I saw that one line takes up much time
invalidIndex = any((coords<ddims(1:3)) | (coords>ddims(4:6)),2);
So it just checks if the point contained are within the bounds. The size of coords is nx3
Is there any way this line can be improved perfomance wise. I couldn’t think of anything else… When using the profiler to look at the performance of a function I need to work with, I saw that one line takes up much time
invalidIndex = any((coords<ddims(1:3)) | (coords>ddims(4:6)),2);
So it just checks if the point contained are within the bounds. The size of coords is nx3
Is there any way this line can be improved perfomance wise. I couldn’t think of anything else… performance, indexing MATLAB Answers — New Questions
How to convert rpm on m/s in this model ssc_pneumatic_motor?
How to convert rpm on m/s in this model ssc_pneumatic_motor?How to convert rpm on m/s in this model ssc_pneumatic_motor? How to convert rpm on m/s in this model ssc_pneumatic_motor? ssc_pneumatic_motor, power_electronics_control, electric_motor_control MATLAB Answers — New Questions
Pose Estimation and Orientation for a UAV in MATLAB
I have the following data:
Ax, Ay, Az (m/s^2) – update rate 10 Hz
Gx, Gy, Gz (rad/s) – update rate 10 Hz
GPS LLA (deg deg meters) – update rate 2 Hz
Roll, Pitch, Yaw (degrees) update rate 10 Hz
I want to develop a GNSS aided INS.
I am following the example given below:
https://www.mathworks.com/help/nav/ug/imu-and-gps-fusion-for-inertial-navigation.html
trajOrient = trajData.Orientation;
I got this using the below code:
%%
clear all;
close all;
clc;
%%
%Load sensor data
load IMUData.mat IMUData;
accelerometerReadings = IMUData(:, 2:4);
gyroscopeReadings = IMUData(:, 5:7);
%% Sampling Rate
imuFs = 10; %Hz
decim = 1;
fuse = imufilter(‘SampleRate’,imuFs,’DecimationFactor’,decim, ‘ReferenceFrame’, ‘ENU’,’AccelerometerNoise’,1e-6, ‘GyroscopeDriftNoise’,1e-6);
%%
OrientationData = fuse(accelerometerReadings,gyroscopeReadings);
trajVel = trajData.Velocity;
How do I get this data?
trajPos = trajData.Position;
How do I get this data?
trajAcc = trajData.Acceleration;
accelerometerReadings = IMUData(:, 2:4);
trajAngVel = trajData.AngularVelocity;
gyroscopeReadings = IMUData(:, 5:7);
Also, I do not have magnetometer. I have to do it using acc-gyro only.
initstate = [1-4 % Orientation as a quaternion
5-7 % Position (NED) %but my frame is in NEU maybe
8-10 % Velocity (NED)
11-13 % Delta Angle Bias (XYZ)
14-16 % Delta Velocity Bias (XYZ)
17-19; % Geomagnetic Field Vector (NED)
20-22] % Magnetometer Bias (XYZ)
How can I proceed with this?I have the following data:
Ax, Ay, Az (m/s^2) – update rate 10 Hz
Gx, Gy, Gz (rad/s) – update rate 10 Hz
GPS LLA (deg deg meters) – update rate 2 Hz
Roll, Pitch, Yaw (degrees) update rate 10 Hz
I want to develop a GNSS aided INS.
I am following the example given below:
https://www.mathworks.com/help/nav/ug/imu-and-gps-fusion-for-inertial-navigation.html
trajOrient = trajData.Orientation;
I got this using the below code:
%%
clear all;
close all;
clc;
%%
%Load sensor data
load IMUData.mat IMUData;
accelerometerReadings = IMUData(:, 2:4);
gyroscopeReadings = IMUData(:, 5:7);
%% Sampling Rate
imuFs = 10; %Hz
decim = 1;
fuse = imufilter(‘SampleRate’,imuFs,’DecimationFactor’,decim, ‘ReferenceFrame’, ‘ENU’,’AccelerometerNoise’,1e-6, ‘GyroscopeDriftNoise’,1e-6);
%%
OrientationData = fuse(accelerometerReadings,gyroscopeReadings);
trajVel = trajData.Velocity;
How do I get this data?
trajPos = trajData.Position;
How do I get this data?
trajAcc = trajData.Acceleration;
accelerometerReadings = IMUData(:, 2:4);
trajAngVel = trajData.AngularVelocity;
gyroscopeReadings = IMUData(:, 5:7);
Also, I do not have magnetometer. I have to do it using acc-gyro only.
initstate = [1-4 % Orientation as a quaternion
5-7 % Position (NED) %but my frame is in NEU maybe
8-10 % Velocity (NED)
11-13 % Delta Angle Bias (XYZ)
14-16 % Delta Velocity Bias (XYZ)
17-19; % Geomagnetic Field Vector (NED)
20-22] % Magnetometer Bias (XYZ)
How can I proceed with this? I have the following data:
Ax, Ay, Az (m/s^2) – update rate 10 Hz
Gx, Gy, Gz (rad/s) – update rate 10 Hz
GPS LLA (deg deg meters) – update rate 2 Hz
Roll, Pitch, Yaw (degrees) update rate 10 Hz
I want to develop a GNSS aided INS.
I am following the example given below:
https://www.mathworks.com/help/nav/ug/imu-and-gps-fusion-for-inertial-navigation.html
trajOrient = trajData.Orientation;
I got this using the below code:
%%
clear all;
close all;
clc;
%%
%Load sensor data
load IMUData.mat IMUData;
accelerometerReadings = IMUData(:, 2:4);
gyroscopeReadings = IMUData(:, 5:7);
%% Sampling Rate
imuFs = 10; %Hz
decim = 1;
fuse = imufilter(‘SampleRate’,imuFs,’DecimationFactor’,decim, ‘ReferenceFrame’, ‘ENU’,’AccelerometerNoise’,1e-6, ‘GyroscopeDriftNoise’,1e-6);
%%
OrientationData = fuse(accelerometerReadings,gyroscopeReadings);
trajVel = trajData.Velocity;
How do I get this data?
trajPos = trajData.Position;
How do I get this data?
trajAcc = trajData.Acceleration;
accelerometerReadings = IMUData(:, 2:4);
trajAngVel = trajData.AngularVelocity;
gyroscopeReadings = IMUData(:, 5:7);
Also, I do not have magnetometer. I have to do it using acc-gyro only.
initstate = [1-4 % Orientation as a quaternion
5-7 % Position (NED) %but my frame is in NEU maybe
8-10 % Velocity (NED)
11-13 % Delta Angle Bias (XYZ)
14-16 % Delta Velocity Bias (XYZ)
17-19; % Geomagnetic Field Vector (NED)
20-22] % Magnetometer Bias (XYZ)
How can I proceed with this? inertial navigation, gps, localization, ekf MATLAB Answers — New Questions