Tag Archives: matlab
Unterminated quote in @-file: n” error when appending pdfs
error when appending pdfserror when appending pdfs error when appending pdfs append pdf error MATLAB Answers — New Questions
How to add extra text to plot legend?
Hi, guys
Let us suppose that I have the following simple code:
clc; clear all; close all;
x = linspace(0, 2*pi, 100);
figure
hold on;grid on; box on;
plot(x,sin(x));
plot(x, cos(x));
plot(x, tan(x));
axis([0 2*pi -4 4]);
legend(‘sin’, ‘cos’, ‘tan’);
My goal is to add some extra text in the legend box as shown in the following image example (image modified with gimp):
Can you help me to codify this task?Hi, guys
Let us suppose that I have the following simple code:
clc; clear all; close all;
x = linspace(0, 2*pi, 100);
figure
hold on;grid on; box on;
plot(x,sin(x));
plot(x, cos(x));
plot(x, tan(x));
axis([0 2*pi -4 4]);
legend(‘sin’, ‘cos’, ‘tan’);
My goal is to add some extra text in the legend box as shown in the following image example (image modified with gimp):
Can you help me to codify this task? Hi, guys
Let us suppose that I have the following simple code:
clc; clear all; close all;
x = linspace(0, 2*pi, 100);
figure
hold on;grid on; box on;
plot(x,sin(x));
plot(x, cos(x));
plot(x, tan(x));
axis([0 2*pi -4 4]);
legend(‘sin’, ‘cos’, ‘tan’);
My goal is to add some extra text in the legend box as shown in the following image example (image modified with gimp):
Can you help me to codify this task? legend, text, plots MATLAB Answers — New Questions
I need to be able to limit in a platform(aircraft), the line-of-sight “MinElevationAngle” in a satellite scenario
"MinElevationAngle" is found in the ground station object to only have line-of-sight satellites above a mask angle. How can we do that for an aircraft?"MinElevationAngle" is found in the ground station object to only have line-of-sight satellites above a mask angle. How can we do that for an aircraft? "MinElevationAngle" is found in the ground station object to only have line-of-sight satellites above a mask angle. How can we do that for an aircraft? satellitescenario, platform MATLAB Answers — New Questions
Camera characterization gives “symetrical results”?
I downloaded the code from :
https://www.mathworks.com/matlabcentral/fileexchange/40640-computational-colour-science-using-matlab-2e?s_tid=srchtitle
I modified the code for my purposes. Please find all the attached elements to run the script at your end. What I don’t understand is how the final resulting image looks exactly like the starting image? I understand how the 3rd degree polynomial is calculated but there must be something I miss in applying the M3 matrix back to my original image?
Any help is appreciated.I downloaded the code from :
https://www.mathworks.com/matlabcentral/fileexchange/40640-computational-colour-science-using-matlab-2e?s_tid=srchtitle
I modified the code for my purposes. Please find all the attached elements to run the script at your end. What I don’t understand is how the final resulting image looks exactly like the starting image? I understand how the 3rd degree polynomial is calculated but there must be something I miss in applying the M3 matrix back to my original image?
Any help is appreciated. I downloaded the code from :
https://www.mathworks.com/matlabcentral/fileexchange/40640-computational-colour-science-using-matlab-2e?s_tid=srchtitle
I modified the code for my purposes. Please find all the attached elements to run the script at your end. What I don’t understand is how the final resulting image looks exactly like the starting image? I understand how the 3rd degree polynomial is calculated but there must be something I miss in applying the M3 matrix back to my original image?
Any help is appreciated. camera characterization, xyz to rgb, polynomial, color management MATLAB Answers — New Questions
Short Pause doesn’t come back
Using App Designer I was running my program with no breakpoints set.
Suddenly it stopped running in a place it shouldn’t so I broke out to see what’s going on and found this:
My understanding is that the open arrow signifies a place where the code has called a routine and not come back yet.
So what’s wrong with this pause this time, after it ran fine 9 times in the last 10 seconds or so?Using App Designer I was running my program with no breakpoints set.
Suddenly it stopped running in a place it shouldn’t so I broke out to see what’s going on and found this:
My understanding is that the open arrow signifies a place where the code has called a routine and not come back yet.
So what’s wrong with this pause this time, after it ran fine 9 times in the last 10 seconds or so? Using App Designer I was running my program with no breakpoints set.
Suddenly it stopped running in a place it shouldn’t so I broke out to see what’s going on and found this:
My understanding is that the open arrow signifies a place where the code has called a routine and not come back yet.
So what’s wrong with this pause this time, after it ran fine 9 times in the last 10 seconds or so? pause MATLAB Answers — New Questions
Aardvark Communications Issue – Error stating no driver installed
I’ve installed the Aardvark USB drivers from Total Phase and installed the add on support package for the instrument toolbox but am still getting a driver error in Matlab.
Verified it is installed and I can connect to it using the total phase software tools.I’ve installed the Aardvark USB drivers from Total Phase and installed the add on support package for the instrument toolbox but am still getting a driver error in Matlab.
Verified it is installed and I can connect to it using the total phase software tools. I’ve installed the Aardvark USB drivers from Total Phase and installed the add on support package for the instrument toolbox but am still getting a driver error in Matlab.
Verified it is installed and I can connect to it using the total phase software tools. aardvark MATLAB Answers — New Questions
Variable Names not being read into uitable using readmatrix
Hi, I am trying to read a csv files into a uitable and am having problems reading the variable names in. The csv was saved using writetable and the first few lines are here:
Idx,pos,sep1,sep2,avgsep,deltaPix
1,101.1,1799.918,1868.078,1833.998,0.769999999999
2,101.2,1801.527,1868.695,1835.111,1.88299999999
3,101.3,1802.028,1869.09,1835.559,2.3309999999
4,101.4,1801.645,1869.739,1835.692,2.46399999999
5,101.5,1802.023,1869.453,1835.738,2.50999999999
This is my code to read the file :
table=app.UItable;
C=readtable(fullpath,’VariableNamingRule’,’preserve’,’FileType’,’text’);
C=table2array(C); % Wasn’t sure if I needed this
opts = detectImportOptions(fullpath)
opts.VariableNames
ReportMessage(app,’Opened Successfully’)
table.Data=C;
Its not reading in the variable name
The opts.variablenames is showing the variable names are present
ans =
1×6 cell array
{‘Idx’} {‘pos’} {‘sep1’} {‘sep2’} {‘avgsep’} {‘deltaPix’}
and opts is:
opts =
DelimitedTextImportOptions with properties:
Format Properties:
Delimiter: {‘,’}
Whitespace: ‘bt ‘
LineEnding: {‘n’ ‘r’ ‘rn’}
CommentStyle: {}
ConsecutiveDelimitersRule: ‘split’
LeadingDelimitersRule: ‘keep’
TrailingDelimitersRule: ‘ignore’
EmptyLineRule: ‘skip’
Encoding: ‘UTF-8’
Replacement Properties:
MissingRule: ‘fill’
ImportErrorRule: ‘fill’
ExtraColumnsRule: ‘addvars’
Variable Import Properties: Set types by name using setvartype
VariableNames: {‘Idx’, ‘pos’, ‘sep1’ … and 3 more}
VariableTypes: {‘double’, ‘double’, ‘double’ … and 3 more}
SelectedVariableNames: {‘Idx’, ‘pos’, ‘sep1’ … and 3 more}
VariableOptions: Show all 6 VariableOptions
Access VariableOptions sub-properties using setvaropts/getvaropts
VariableNamingRule: ‘modify’
Any reason why the variable names aren’t being populated into the uitable?
ThanksHi, I am trying to read a csv files into a uitable and am having problems reading the variable names in. The csv was saved using writetable and the first few lines are here:
Idx,pos,sep1,sep2,avgsep,deltaPix
1,101.1,1799.918,1868.078,1833.998,0.769999999999
2,101.2,1801.527,1868.695,1835.111,1.88299999999
3,101.3,1802.028,1869.09,1835.559,2.3309999999
4,101.4,1801.645,1869.739,1835.692,2.46399999999
5,101.5,1802.023,1869.453,1835.738,2.50999999999
This is my code to read the file :
table=app.UItable;
C=readtable(fullpath,’VariableNamingRule’,’preserve’,’FileType’,’text’);
C=table2array(C); % Wasn’t sure if I needed this
opts = detectImportOptions(fullpath)
opts.VariableNames
ReportMessage(app,’Opened Successfully’)
table.Data=C;
Its not reading in the variable name
The opts.variablenames is showing the variable names are present
ans =
1×6 cell array
{‘Idx’} {‘pos’} {‘sep1’} {‘sep2’} {‘avgsep’} {‘deltaPix’}
and opts is:
opts =
DelimitedTextImportOptions with properties:
Format Properties:
Delimiter: {‘,’}
Whitespace: ‘bt ‘
LineEnding: {‘n’ ‘r’ ‘rn’}
CommentStyle: {}
ConsecutiveDelimitersRule: ‘split’
LeadingDelimitersRule: ‘keep’
TrailingDelimitersRule: ‘ignore’
EmptyLineRule: ‘skip’
Encoding: ‘UTF-8’
Replacement Properties:
MissingRule: ‘fill’
ImportErrorRule: ‘fill’
ExtraColumnsRule: ‘addvars’
Variable Import Properties: Set types by name using setvartype
VariableNames: {‘Idx’, ‘pos’, ‘sep1’ … and 3 more}
VariableTypes: {‘double’, ‘double’, ‘double’ … and 3 more}
SelectedVariableNames: {‘Idx’, ‘pos’, ‘sep1’ … and 3 more}
VariableOptions: Show all 6 VariableOptions
Access VariableOptions sub-properties using setvaropts/getvaropts
VariableNamingRule: ‘modify’
Any reason why the variable names aren’t being populated into the uitable?
Thanks Hi, I am trying to read a csv files into a uitable and am having problems reading the variable names in. The csv was saved using writetable and the first few lines are here:
Idx,pos,sep1,sep2,avgsep,deltaPix
1,101.1,1799.918,1868.078,1833.998,0.769999999999
2,101.2,1801.527,1868.695,1835.111,1.88299999999
3,101.3,1802.028,1869.09,1835.559,2.3309999999
4,101.4,1801.645,1869.739,1835.692,2.46399999999
5,101.5,1802.023,1869.453,1835.738,2.50999999999
This is my code to read the file :
table=app.UItable;
C=readtable(fullpath,’VariableNamingRule’,’preserve’,’FileType’,’text’);
C=table2array(C); % Wasn’t sure if I needed this
opts = detectImportOptions(fullpath)
opts.VariableNames
ReportMessage(app,’Opened Successfully’)
table.Data=C;
Its not reading in the variable name
The opts.variablenames is showing the variable names are present
ans =
1×6 cell array
{‘Idx’} {‘pos’} {‘sep1’} {‘sep2’} {‘avgsep’} {‘deltaPix’}
and opts is:
opts =
DelimitedTextImportOptions with properties:
Format Properties:
Delimiter: {‘,’}
Whitespace: ‘bt ‘
LineEnding: {‘n’ ‘r’ ‘rn’}
CommentStyle: {}
ConsecutiveDelimitersRule: ‘split’
LeadingDelimitersRule: ‘keep’
TrailingDelimitersRule: ‘ignore’
EmptyLineRule: ‘skip’
Encoding: ‘UTF-8’
Replacement Properties:
MissingRule: ‘fill’
ImportErrorRule: ‘fill’
ExtraColumnsRule: ‘addvars’
Variable Import Properties: Set types by name using setvartype
VariableNames: {‘Idx’, ‘pos’, ‘sep1’ … and 3 more}
VariableTypes: {‘double’, ‘double’, ‘double’ … and 3 more}
SelectedVariableNames: {‘Idx’, ‘pos’, ‘sep1’ … and 3 more}
VariableOptions: Show all 6 VariableOptions
Access VariableOptions sub-properties using setvaropts/getvaropts
VariableNamingRule: ‘modify’
Any reason why the variable names aren’t being populated into the uitable?
Thanks readmatrix, uitable, variablenames MATLAB Answers — New Questions
how to optimize block toeplitz matrix ?
how to optimize block toeplitz matrix in matlab
I want to create a block lower triangular with block teoplitz matrice starting from second column
in code
block_size1= nts * npt;
% Construct Block Matrices
[tp] = cell(nts, nts);
tp{1} = zeros(npt); tp{2} = zeros(npt);for n=3:nts, tp{n}=rand(npt);end
A_T = sparse(block_size1, block_size1);
for col = 2:nts
for row = col:nts
rowStart = (row – 1) * npt + 1;
rowEnd = rowStart + npt – 1;
colStart = (col – 1) * npt + 1;
colEnd = colStart + npt – 1;
A_T(rowStart:rowEnd, colStart:colEnd) = tp{row – col + 2};
end
end
we know that MATLAB does have a built-in function like toeplitz for cell arrays of matrices, but I want to optimize this code to:
Minimize computation time.
Reduce memory usage (if possible).how to optimize block toeplitz matrix in matlab
I want to create a block lower triangular with block teoplitz matrice starting from second column
in code
block_size1= nts * npt;
% Construct Block Matrices
[tp] = cell(nts, nts);
tp{1} = zeros(npt); tp{2} = zeros(npt);for n=3:nts, tp{n}=rand(npt);end
A_T = sparse(block_size1, block_size1);
for col = 2:nts
for row = col:nts
rowStart = (row – 1) * npt + 1;
rowEnd = rowStart + npt – 1;
colStart = (col – 1) * npt + 1;
colEnd = colStart + npt – 1;
A_T(rowStart:rowEnd, colStart:colEnd) = tp{row – col + 2};
end
end
we know that MATLAB does have a built-in function like toeplitz for cell arrays of matrices, but I want to optimize this code to:
Minimize computation time.
Reduce memory usage (if possible). how to optimize block toeplitz matrix in matlab
I want to create a block lower triangular with block teoplitz matrice starting from second column
in code
block_size1= nts * npt;
% Construct Block Matrices
[tp] = cell(nts, nts);
tp{1} = zeros(npt); tp{2} = zeros(npt);for n=3:nts, tp{n}=rand(npt);end
A_T = sparse(block_size1, block_size1);
for col = 2:nts
for row = col:nts
rowStart = (row – 1) * npt + 1;
rowEnd = rowStart + npt – 1;
colStart = (col – 1) * npt + 1;
colEnd = colStart + npt – 1;
A_T(rowStart:rowEnd, colStart:colEnd) = tp{row – col + 2};
end
end
we know that MATLAB does have a built-in function like toeplitz for cell arrays of matrices, but I want to optimize this code to:
Minimize computation time.
Reduce memory usage (if possible). toeplitz, optimization, code generation MATLAB Answers — New Questions
MATLAB crashes when run on a virtual machine
I am attempting to run MATLAB on my virtual machine. When I do so, however, MATLAB crashes with references to "vm3dgl64.dll" in the stack trace, such as the snippets below:
[ 2] 0x00007ffd5899e3fe C:Program FilesMATLABR2024abinwin64libmwfl.dll+00058366
[ 5] 0x00007ffd3fd2c5bf C:Program FilesMATLABR2024abinwin64jmi.dll+00705983
[ 6] 0x00000000583a9ead C:Program FilesMATLABR2024asysjavajrewin64jrebinserverjvm.dll+02727597
[ 11] 0x00007ffe1da848ff C:windowsSYSTEM32ntdll.dll+00674047
[ 14] 0x00007ffdca59696d C:windowsSYSTEM32vm3dgl64.dll+14903661
[ 39] 0x00007ffdea4411f0 C:windowssystem32opengl32.dll+00135664
I am using Windows Server on my VMWare virtual machine, and am attempting to run MATLAB R2022b. What can I do to resolve this issue?I am attempting to run MATLAB on my virtual machine. When I do so, however, MATLAB crashes with references to "vm3dgl64.dll" in the stack trace, such as the snippets below:
[ 2] 0x00007ffd5899e3fe C:Program FilesMATLABR2024abinwin64libmwfl.dll+00058366
[ 5] 0x00007ffd3fd2c5bf C:Program FilesMATLABR2024abinwin64jmi.dll+00705983
[ 6] 0x00000000583a9ead C:Program FilesMATLABR2024asysjavajrewin64jrebinserverjvm.dll+02727597
[ 11] 0x00007ffe1da848ff C:windowsSYSTEM32ntdll.dll+00674047
[ 14] 0x00007ffdca59696d C:windowsSYSTEM32vm3dgl64.dll+14903661
[ 39] 0x00007ffdea4411f0 C:windowssystem32opengl32.dll+00135664
I am using Windows Server on my VMWare virtual machine, and am attempting to run MATLAB R2022b. What can I do to resolve this issue? I am attempting to run MATLAB on my virtual machine. When I do so, however, MATLAB crashes with references to "vm3dgl64.dll" in the stack trace, such as the snippets below:
[ 2] 0x00007ffd5899e3fe C:Program FilesMATLABR2024abinwin64libmwfl.dll+00058366
[ 5] 0x00007ffd3fd2c5bf C:Program FilesMATLABR2024abinwin64jmi.dll+00705983
[ 6] 0x00000000583a9ead C:Program FilesMATLABR2024asysjavajrewin64jrebinserverjvm.dll+02727597
[ 11] 0x00007ffe1da848ff C:windowsSYSTEM32ntdll.dll+00674047
[ 14] 0x00007ffdca59696d C:windowsSYSTEM32vm3dgl64.dll+14903661
[ 39] 0x00007ffdea4411f0 C:windowssystem32opengl32.dll+00135664
I am using Windows Server on my VMWare virtual machine, and am attempting to run MATLAB R2022b. What can I do to resolve this issue? vm, vm3dgl64.dll, graphics, driver MATLAB Answers — New Questions
Handling Numerical Instability in Estimating Angle Between 2D Points
Hi! I would like to estimate the angle between points using the following code.
x = randn(10000, 1); y = randn(10000, 1);
angle_mat = zeros(length(x));
for i = 1:length(x)
for j = 1:length(x)
if i ~= j
angle_mat(i,j) = atan2(y(j)-y(i), x(j)-x(i));
else
angle_mat(i,j) = NaN;
end
end
end
I realized, however, that, due to numerical instability near horizontal/vertical slopes, the angle estimate near 0/+-pi became weird. Does anyone know how to acount for this numerical instability?Hi! I would like to estimate the angle between points using the following code.
x = randn(10000, 1); y = randn(10000, 1);
angle_mat = zeros(length(x));
for i = 1:length(x)
for j = 1:length(x)
if i ~= j
angle_mat(i,j) = atan2(y(j)-y(i), x(j)-x(i));
else
angle_mat(i,j) = NaN;
end
end
end
I realized, however, that, due to numerical instability near horizontal/vertical slopes, the angle estimate near 0/+-pi became weird. Does anyone know how to acount for this numerical instability? Hi! I would like to estimate the angle between points using the following code.
x = randn(10000, 1); y = randn(10000, 1);
angle_mat = zeros(length(x));
for i = 1:length(x)
for j = 1:length(x)
if i ~= j
angle_mat(i,j) = atan2(y(j)-y(i), x(j)-x(i));
else
angle_mat(i,j) = NaN;
end
end
end
I realized, however, that, due to numerical instability near horizontal/vertical slopes, the angle estimate near 0/+-pi became weird. Does anyone know how to acount for this numerical instability? matlab, numerical instability MATLAB Answers — New Questions
Error in the diagonalization of the Hamiltonian of the Zeeman effect
Hi. I am calculating the energy shifts in the Cs-133 atom due to external magnetic fields by the Zeeman effect (my code is attached). For the ground state and the D1 line I have no problem, the code works fine, the plots give as the D. Steck paper. However, when I try to do it for the D2 line, it seems that the lines of different colors are mixed, which gives incorrect results, as seen in the attached image.
In the code, I construct the Hamiltonian for each magnetic field value and diagonalize the Hamiltonian. One way I got it to work is to diagonalize the Hamiltonian symbolically and then substitute the magnetic field values. However, this method takes too long, and when I tried to add the octupolar term, it does not work. I think it is a problem in the order of the eigenvalues, but I have not been able to solve it. If someone could help me, I would be eternally grateful.
This is the result I obtain.
This is the result of the reference document. In this case, the lines of different colors are not mixed.
The reference document is attached below.
Cesium D Line Data
clc
clear variables
close all
tic
%% Constants definition
line = ‘D2’; % [Ground D1 D2]
I = 7/2; % Nuclear spin
g_I = -0.00039885395; % Nuclear g-factor
J = [1/2 3/2]; % Total angular momentum
g_J = [2.002540261 0.665900 1.33408749]; % Fine structure g-factor
mu_B = (9.27400899E-24)*1E-4; % Bohr Magneton (J/G)
hbar = 1.054E-34; % Reduced Planck’s constant (Js)
Ahfs = 2*pi*hbar*[2.2981579425E9 291.9201E6 50.28827E6]; % Magnetic Dipole Constant
Bhfs = -2*pi*hbar*0.4934E6; % Electric Quadrupole Constant 5^2 P_3/2
Chfs = 2*pi*hbar*0.560E3; % Magnetic Octupole Constant 6^2 P_3/D2
Folder = pwd;
switch line
case ‘Ground’
A = Ahfs(1);
J = J(1); % Total angular momentum
g_J = g_J(1);
BF = linspace(0,15000,1000); % Magnetic field vector (G)
titleg = ‘$ ^{133}mathrm{Cs} , , , 6^2 mathrm{S}_{1/2}$’;
yl = ‘$E/h$ (GHz)’;
Amp = 1E-9;
yy = [-26 26];
str = ‘Ground state’;
case ‘D1’
A = Ahfs(2);
J = J(1); % Total angular momentum
g_J = g_J(2);
BF = linspace(0,5000,1000); % Magnetic field vector (G)
titleg = ‘$ ^{133}mathrm{Cs} , , , 6^2 mathrm{P}_{1/2}$’;
yl = ‘$E/h$ (GHz)’;
Amp = 1E-9;
yy = [-2.5 2.5];
str = ‘D1 line’;
case ‘D2’
A = Ahfs(3);
J = J(2); % Total angular momentum
g_J = g_J(3);
BF = linspace(0,500,1000); % Magnetic field vector (G)
titleg = ‘$ ^{133}mathrm{Cs} , , , 6^2 mathrm{P}_{3/2}$’;
yl = ‘$E/h$ (MHz)’;
Amp = 1E-6;
yy = [-1500 1500];
str = ‘D2 line’;
otherwise
error(‘Unexpected value of state.’);
end
%%
% Get the spin operator matrices for I and J
[SxI, SyI, SzI] = espin(I);
[SxJ, SyJ, SzJ] = espin(J);
% Construct the spin operators, defined as the tensor product of the spin matrices S(I) and S(J) with
% indetity matrices 1(I) and 1(J)
Ix = kron(SxI, id(J));
Iy = kron(SyI, id(J));
Iz = kron(SzI, id(J));
Jx = kron(id(I), SxJ);
Jy = kron(id(I), SyJ);
Jz = kron(id(I), SzJ);
F_values = abs(I-J):(I+J);
degeneracies = 2*F_values + 1; % Degeneracies for each F value
%% We diagonalize the Hamiltonian symbolically and then evaluate the eigenvalues in terms of the external magnetic field
energies = zeros(length(BF), (2*I+1)*(2*J+1)); % Preallocate energy array
% Check the value of J before entering the loop
if J == 1/2
% Construct Hamiltonian for J = 1/2
HZeemanBase = A*(Ix*Jx + Iy*Jy + Iz*Jz) + …
mu_B*BF(1)*(g_I*Iz + g_J*Jz); % Use BF(1) just as a placeholder for the structure
elseif J == 3/2
% Construct Hamiltonian for J = 3/2
HZeemanBase = A*(Ix*Jx + Iy*Jy + Iz*Jz) + …
mu_B*BF(1)*(g_I*Iz + g_J*Jz) + …
(Bhfs/(2*I*(2*I-1)*J*(2*J-1)))*( 3*(Ix*Jx + Iy*Jy + Iz*Jz).^2 + (3/2)*(Ix*Jx + Iy*Jy + Iz*Jz) – (Ix.^2 + Iy.^2 + Iz.^2)*(Jx.^2 + Jy.^2 + Jz.^2) );
end
for j = 1:length(BF)
% Modify the Hamiltonian for each BF(j)
HZeeman = HZeemanBase;
% Update the Zeeman term for the current magnetic field strength
HZeeman = (Amp/(2*pi*hbar))*(HZeeman + mu_B*BF(j)*(g_I*Iz + g_J*Jz));
% Diagonalize the Hamiltonian
[eigenvectors, eigenvalues] = eig(HZeeman);
% Store the eigenvalues (energies)
energies(j, 🙂 = sort(diag(real(eigenvalues))); % Sort energies for clarity
end
% Plot levels for each F group with different colors
colors = {‘r’, ‘b’, ‘g’, ‘m’, ‘k’}; % Colors for each F group
level_start = 1; % Start index for each F group
legend_handles = []; % Store plot handles for the legend
Fig = figure;
hold on;
for f_idx = 1:length(F_values)
num_levels_in_group = degeneracies(f_idx); % Number of levels for this F
level_end = level_start + num_levels_in_group – 1; % End index for this F
h = plot(BF, energies(:, level_start:level_end), ‘LineWidth’,2, ‘Color’, colors{f_idx});
legend_handles = [legend_handles, h(1)]; % Store one handle per group
level_start = level_end + 1; % Update start index for the next F group
end
set(gca, ‘xminortick’, ‘on’, ‘TickLabelInterpreter’,’latex’,’fontsize’,18);
set(gca, ‘yminortick’, ‘on’, ‘TickLabelInterpreter’,’latex’,’fontsize’,18);
xlabel(‘$|B|$ (G)’, ‘Interpreter’, ‘latex’, ‘Fontsize’, 20);
ylabel(yl, ‘Interpreter’, ‘latex’,’Fontsize’, 20);
ylim(yy);
title(titleg,’Interpreter’, ‘latex’, ‘Fontsize’, 22);
legend_labels = arrayfun(@(f) sprintf(‘$F = %.0f$’, f), F_values, ‘UniformOutput’, false);
legend(legend_handles, legend_labels, ‘Interpreter’, ‘latex’, ‘Location’, ‘northwest’);
box on;
hold off;
Filename = sprintf(‘%s/Zeeman splitting %s.png’, Folder, str);
print(Fig, Filename, ‘-dpng’, ‘-r300’);
tocHi. I am calculating the energy shifts in the Cs-133 atom due to external magnetic fields by the Zeeman effect (my code is attached). For the ground state and the D1 line I have no problem, the code works fine, the plots give as the D. Steck paper. However, when I try to do it for the D2 line, it seems that the lines of different colors are mixed, which gives incorrect results, as seen in the attached image.
In the code, I construct the Hamiltonian for each magnetic field value and diagonalize the Hamiltonian. One way I got it to work is to diagonalize the Hamiltonian symbolically and then substitute the magnetic field values. However, this method takes too long, and when I tried to add the octupolar term, it does not work. I think it is a problem in the order of the eigenvalues, but I have not been able to solve it. If someone could help me, I would be eternally grateful.
This is the result I obtain.
This is the result of the reference document. In this case, the lines of different colors are not mixed.
The reference document is attached below.
Cesium D Line Data
clc
clear variables
close all
tic
%% Constants definition
line = ‘D2’; % [Ground D1 D2]
I = 7/2; % Nuclear spin
g_I = -0.00039885395; % Nuclear g-factor
J = [1/2 3/2]; % Total angular momentum
g_J = [2.002540261 0.665900 1.33408749]; % Fine structure g-factor
mu_B = (9.27400899E-24)*1E-4; % Bohr Magneton (J/G)
hbar = 1.054E-34; % Reduced Planck’s constant (Js)
Ahfs = 2*pi*hbar*[2.2981579425E9 291.9201E6 50.28827E6]; % Magnetic Dipole Constant
Bhfs = -2*pi*hbar*0.4934E6; % Electric Quadrupole Constant 5^2 P_3/2
Chfs = 2*pi*hbar*0.560E3; % Magnetic Octupole Constant 6^2 P_3/D2
Folder = pwd;
switch line
case ‘Ground’
A = Ahfs(1);
J = J(1); % Total angular momentum
g_J = g_J(1);
BF = linspace(0,15000,1000); % Magnetic field vector (G)
titleg = ‘$ ^{133}mathrm{Cs} , , , 6^2 mathrm{S}_{1/2}$’;
yl = ‘$E/h$ (GHz)’;
Amp = 1E-9;
yy = [-26 26];
str = ‘Ground state’;
case ‘D1’
A = Ahfs(2);
J = J(1); % Total angular momentum
g_J = g_J(2);
BF = linspace(0,5000,1000); % Magnetic field vector (G)
titleg = ‘$ ^{133}mathrm{Cs} , , , 6^2 mathrm{P}_{1/2}$’;
yl = ‘$E/h$ (GHz)’;
Amp = 1E-9;
yy = [-2.5 2.5];
str = ‘D1 line’;
case ‘D2’
A = Ahfs(3);
J = J(2); % Total angular momentum
g_J = g_J(3);
BF = linspace(0,500,1000); % Magnetic field vector (G)
titleg = ‘$ ^{133}mathrm{Cs} , , , 6^2 mathrm{P}_{3/2}$’;
yl = ‘$E/h$ (MHz)’;
Amp = 1E-6;
yy = [-1500 1500];
str = ‘D2 line’;
otherwise
error(‘Unexpected value of state.’);
end
%%
% Get the spin operator matrices for I and J
[SxI, SyI, SzI] = espin(I);
[SxJ, SyJ, SzJ] = espin(J);
% Construct the spin operators, defined as the tensor product of the spin matrices S(I) and S(J) with
% indetity matrices 1(I) and 1(J)
Ix = kron(SxI, id(J));
Iy = kron(SyI, id(J));
Iz = kron(SzI, id(J));
Jx = kron(id(I), SxJ);
Jy = kron(id(I), SyJ);
Jz = kron(id(I), SzJ);
F_values = abs(I-J):(I+J);
degeneracies = 2*F_values + 1; % Degeneracies for each F value
%% We diagonalize the Hamiltonian symbolically and then evaluate the eigenvalues in terms of the external magnetic field
energies = zeros(length(BF), (2*I+1)*(2*J+1)); % Preallocate energy array
% Check the value of J before entering the loop
if J == 1/2
% Construct Hamiltonian for J = 1/2
HZeemanBase = A*(Ix*Jx + Iy*Jy + Iz*Jz) + …
mu_B*BF(1)*(g_I*Iz + g_J*Jz); % Use BF(1) just as a placeholder for the structure
elseif J == 3/2
% Construct Hamiltonian for J = 3/2
HZeemanBase = A*(Ix*Jx + Iy*Jy + Iz*Jz) + …
mu_B*BF(1)*(g_I*Iz + g_J*Jz) + …
(Bhfs/(2*I*(2*I-1)*J*(2*J-1)))*( 3*(Ix*Jx + Iy*Jy + Iz*Jz).^2 + (3/2)*(Ix*Jx + Iy*Jy + Iz*Jz) – (Ix.^2 + Iy.^2 + Iz.^2)*(Jx.^2 + Jy.^2 + Jz.^2) );
end
for j = 1:length(BF)
% Modify the Hamiltonian for each BF(j)
HZeeman = HZeemanBase;
% Update the Zeeman term for the current magnetic field strength
HZeeman = (Amp/(2*pi*hbar))*(HZeeman + mu_B*BF(j)*(g_I*Iz + g_J*Jz));
% Diagonalize the Hamiltonian
[eigenvectors, eigenvalues] = eig(HZeeman);
% Store the eigenvalues (energies)
energies(j, 🙂 = sort(diag(real(eigenvalues))); % Sort energies for clarity
end
% Plot levels for each F group with different colors
colors = {‘r’, ‘b’, ‘g’, ‘m’, ‘k’}; % Colors for each F group
level_start = 1; % Start index for each F group
legend_handles = []; % Store plot handles for the legend
Fig = figure;
hold on;
for f_idx = 1:length(F_values)
num_levels_in_group = degeneracies(f_idx); % Number of levels for this F
level_end = level_start + num_levels_in_group – 1; % End index for this F
h = plot(BF, energies(:, level_start:level_end), ‘LineWidth’,2, ‘Color’, colors{f_idx});
legend_handles = [legend_handles, h(1)]; % Store one handle per group
level_start = level_end + 1; % Update start index for the next F group
end
set(gca, ‘xminortick’, ‘on’, ‘TickLabelInterpreter’,’latex’,’fontsize’,18);
set(gca, ‘yminortick’, ‘on’, ‘TickLabelInterpreter’,’latex’,’fontsize’,18);
xlabel(‘$|B|$ (G)’, ‘Interpreter’, ‘latex’, ‘Fontsize’, 20);
ylabel(yl, ‘Interpreter’, ‘latex’,’Fontsize’, 20);
ylim(yy);
title(titleg,’Interpreter’, ‘latex’, ‘Fontsize’, 22);
legend_labels = arrayfun(@(f) sprintf(‘$F = %.0f$’, f), F_values, ‘UniformOutput’, false);
legend(legend_handles, legend_labels, ‘Interpreter’, ‘latex’, ‘Location’, ‘northwest’);
box on;
hold off;
Filename = sprintf(‘%s/Zeeman splitting %s.png’, Folder, str);
print(Fig, Filename, ‘-dpng’, ‘-r300’);
toc Hi. I am calculating the energy shifts in the Cs-133 atom due to external magnetic fields by the Zeeman effect (my code is attached). For the ground state and the D1 line I have no problem, the code works fine, the plots give as the D. Steck paper. However, when I try to do it for the D2 line, it seems that the lines of different colors are mixed, which gives incorrect results, as seen in the attached image.
In the code, I construct the Hamiltonian for each magnetic field value and diagonalize the Hamiltonian. One way I got it to work is to diagonalize the Hamiltonian symbolically and then substitute the magnetic field values. However, this method takes too long, and when I tried to add the octupolar term, it does not work. I think it is a problem in the order of the eigenvalues, but I have not been able to solve it. If someone could help me, I would be eternally grateful.
This is the result I obtain.
This is the result of the reference document. In this case, the lines of different colors are not mixed.
The reference document is attached below.
Cesium D Line Data
clc
clear variables
close all
tic
%% Constants definition
line = ‘D2’; % [Ground D1 D2]
I = 7/2; % Nuclear spin
g_I = -0.00039885395; % Nuclear g-factor
J = [1/2 3/2]; % Total angular momentum
g_J = [2.002540261 0.665900 1.33408749]; % Fine structure g-factor
mu_B = (9.27400899E-24)*1E-4; % Bohr Magneton (J/G)
hbar = 1.054E-34; % Reduced Planck’s constant (Js)
Ahfs = 2*pi*hbar*[2.2981579425E9 291.9201E6 50.28827E6]; % Magnetic Dipole Constant
Bhfs = -2*pi*hbar*0.4934E6; % Electric Quadrupole Constant 5^2 P_3/2
Chfs = 2*pi*hbar*0.560E3; % Magnetic Octupole Constant 6^2 P_3/D2
Folder = pwd;
switch line
case ‘Ground’
A = Ahfs(1);
J = J(1); % Total angular momentum
g_J = g_J(1);
BF = linspace(0,15000,1000); % Magnetic field vector (G)
titleg = ‘$ ^{133}mathrm{Cs} , , , 6^2 mathrm{S}_{1/2}$’;
yl = ‘$E/h$ (GHz)’;
Amp = 1E-9;
yy = [-26 26];
str = ‘Ground state’;
case ‘D1’
A = Ahfs(2);
J = J(1); % Total angular momentum
g_J = g_J(2);
BF = linspace(0,5000,1000); % Magnetic field vector (G)
titleg = ‘$ ^{133}mathrm{Cs} , , , 6^2 mathrm{P}_{1/2}$’;
yl = ‘$E/h$ (GHz)’;
Amp = 1E-9;
yy = [-2.5 2.5];
str = ‘D1 line’;
case ‘D2’
A = Ahfs(3);
J = J(2); % Total angular momentum
g_J = g_J(3);
BF = linspace(0,500,1000); % Magnetic field vector (G)
titleg = ‘$ ^{133}mathrm{Cs} , , , 6^2 mathrm{P}_{3/2}$’;
yl = ‘$E/h$ (MHz)’;
Amp = 1E-6;
yy = [-1500 1500];
str = ‘D2 line’;
otherwise
error(‘Unexpected value of state.’);
end
%%
% Get the spin operator matrices for I and J
[SxI, SyI, SzI] = espin(I);
[SxJ, SyJ, SzJ] = espin(J);
% Construct the spin operators, defined as the tensor product of the spin matrices S(I) and S(J) with
% indetity matrices 1(I) and 1(J)
Ix = kron(SxI, id(J));
Iy = kron(SyI, id(J));
Iz = kron(SzI, id(J));
Jx = kron(id(I), SxJ);
Jy = kron(id(I), SyJ);
Jz = kron(id(I), SzJ);
F_values = abs(I-J):(I+J);
degeneracies = 2*F_values + 1; % Degeneracies for each F value
%% We diagonalize the Hamiltonian symbolically and then evaluate the eigenvalues in terms of the external magnetic field
energies = zeros(length(BF), (2*I+1)*(2*J+1)); % Preallocate energy array
% Check the value of J before entering the loop
if J == 1/2
% Construct Hamiltonian for J = 1/2
HZeemanBase = A*(Ix*Jx + Iy*Jy + Iz*Jz) + …
mu_B*BF(1)*(g_I*Iz + g_J*Jz); % Use BF(1) just as a placeholder for the structure
elseif J == 3/2
% Construct Hamiltonian for J = 3/2
HZeemanBase = A*(Ix*Jx + Iy*Jy + Iz*Jz) + …
mu_B*BF(1)*(g_I*Iz + g_J*Jz) + …
(Bhfs/(2*I*(2*I-1)*J*(2*J-1)))*( 3*(Ix*Jx + Iy*Jy + Iz*Jz).^2 + (3/2)*(Ix*Jx + Iy*Jy + Iz*Jz) – (Ix.^2 + Iy.^2 + Iz.^2)*(Jx.^2 + Jy.^2 + Jz.^2) );
end
for j = 1:length(BF)
% Modify the Hamiltonian for each BF(j)
HZeeman = HZeemanBase;
% Update the Zeeman term for the current magnetic field strength
HZeeman = (Amp/(2*pi*hbar))*(HZeeman + mu_B*BF(j)*(g_I*Iz + g_J*Jz));
% Diagonalize the Hamiltonian
[eigenvectors, eigenvalues] = eig(HZeeman);
% Store the eigenvalues (energies)
energies(j, 🙂 = sort(diag(real(eigenvalues))); % Sort energies for clarity
end
% Plot levels for each F group with different colors
colors = {‘r’, ‘b’, ‘g’, ‘m’, ‘k’}; % Colors for each F group
level_start = 1; % Start index for each F group
legend_handles = []; % Store plot handles for the legend
Fig = figure;
hold on;
for f_idx = 1:length(F_values)
num_levels_in_group = degeneracies(f_idx); % Number of levels for this F
level_end = level_start + num_levels_in_group – 1; % End index for this F
h = plot(BF, energies(:, level_start:level_end), ‘LineWidth’,2, ‘Color’, colors{f_idx});
legend_handles = [legend_handles, h(1)]; % Store one handle per group
level_start = level_end + 1; % Update start index for the next F group
end
set(gca, ‘xminortick’, ‘on’, ‘TickLabelInterpreter’,’latex’,’fontsize’,18);
set(gca, ‘yminortick’, ‘on’, ‘TickLabelInterpreter’,’latex’,’fontsize’,18);
xlabel(‘$|B|$ (G)’, ‘Interpreter’, ‘latex’, ‘Fontsize’, 20);
ylabel(yl, ‘Interpreter’, ‘latex’,’Fontsize’, 20);
ylim(yy);
title(titleg,’Interpreter’, ‘latex’, ‘Fontsize’, 22);
legend_labels = arrayfun(@(f) sprintf(‘$F = %.0f$’, f), F_values, ‘UniformOutput’, false);
legend(legend_handles, legend_labels, ‘Interpreter’, ‘latex’, ‘Location’, ‘northwest’);
box on;
hold off;
Filename = sprintf(‘%s/Zeeman splitting %s.png’, Folder, str);
print(Fig, Filename, ‘-dpng’, ‘-r300’);
toc matrix, eigenvalues, diagonalization, atomic physics MATLAB Answers — New Questions
Issue with Rapid Accelerator Mode in parsim After Upgrading to R2024b
I am encountering issues with the workers in parsim when using the Rapid Accelerator mode.
After upgrading from R2024a to R2024b one week ago, I noticed that running parsim simulations no longer works as expected. I aim to run 6 simulations on a system with 6 physical (P) cores, allowing Matlab to compute all simulations simultaneously. However, only one worker completes the simulation, while the remaining five remain stuck in the "Running" state.
I tested this behavior with 6 identical models, but the issue persisted. Uninstalling and reinstalling Matlab did not do the trick.
Another observation is related to CPU behavior. When the parsim simulation starts, my laptop’s fan runs intensively, and some CPU cores reach 100% utilization—this is expected and matches the behavior in R2024a. However, as soon as the first worker completes its simulation, the fan slows down, and CPU utilization becomes erratic. The CPU usage fluctuates significantly, jumping between 20% and 90%.
Additionally, if I stop the parsim simulation via the Simulation Manager, Matlab becomes stuck at the "Cleaning up parallel worker" stage for the workers that were stuck during the simulation.
Interestingly, when switching from Rapid Accelerator to Accelerator mode, the parsim simulations work correctly, and some CPU cores consistently run at 100% utilization.
Does anyone have a clue what the cause for this behavior?I am encountering issues with the workers in parsim when using the Rapid Accelerator mode.
After upgrading from R2024a to R2024b one week ago, I noticed that running parsim simulations no longer works as expected. I aim to run 6 simulations on a system with 6 physical (P) cores, allowing Matlab to compute all simulations simultaneously. However, only one worker completes the simulation, while the remaining five remain stuck in the "Running" state.
I tested this behavior with 6 identical models, but the issue persisted. Uninstalling and reinstalling Matlab did not do the trick.
Another observation is related to CPU behavior. When the parsim simulation starts, my laptop’s fan runs intensively, and some CPU cores reach 100% utilization—this is expected and matches the behavior in R2024a. However, as soon as the first worker completes its simulation, the fan slows down, and CPU utilization becomes erratic. The CPU usage fluctuates significantly, jumping between 20% and 90%.
Additionally, if I stop the parsim simulation via the Simulation Manager, Matlab becomes stuck at the "Cleaning up parallel worker" stage for the workers that were stuck during the simulation.
Interestingly, when switching from Rapid Accelerator to Accelerator mode, the parsim simulations work correctly, and some CPU cores consistently run at 100% utilization.
Does anyone have a clue what the cause for this behavior? I am encountering issues with the workers in parsim when using the Rapid Accelerator mode.
After upgrading from R2024a to R2024b one week ago, I noticed that running parsim simulations no longer works as expected. I aim to run 6 simulations on a system with 6 physical (P) cores, allowing Matlab to compute all simulations simultaneously. However, only one worker completes the simulation, while the remaining five remain stuck in the "Running" state.
I tested this behavior with 6 identical models, but the issue persisted. Uninstalling and reinstalling Matlab did not do the trick.
Another observation is related to CPU behavior. When the parsim simulation starts, my laptop’s fan runs intensively, and some CPU cores reach 100% utilization—this is expected and matches the behavior in R2024a. However, as soon as the first worker completes its simulation, the fan slows down, and CPU utilization becomes erratic. The CPU usage fluctuates significantly, jumping between 20% and 90%.
Additionally, if I stop the parsim simulation via the Simulation Manager, Matlab becomes stuck at the "Cleaning up parallel worker" stage for the workers that were stuck during the simulation.
Interestingly, when switching from Rapid Accelerator to Accelerator mode, the parsim simulations work correctly, and some CPU cores consistently run at 100% utilization.
Does anyone have a clue what the cause for this behavior? parsim, rapid accelerator MATLAB Answers — New Questions
How to detect ArUco markers in MATLAB?
I want to read ArUco markers using MATLAB for my workflow.
Does MATLAB support reading ArUco markers?I want to read ArUco markers using MATLAB for my workflow.
Does MATLAB support reading ArUco markers? I want to read ArUco markers using MATLAB for my workflow.
Does MATLAB support reading ArUco markers? opencv, computer, vision, toolbox, aruco, readarucomarker, generatearucomarker MATLAB Answers — New Questions
Extracting Data from Table
I am attempting to sort a large set of 3D data, into 2D frames. For context, the data I have imported is a text file and I want to seperate the text file into seperate tables, which all have the same X value. I had previously done this by creating several ID variables…
idx_250 = FFF1.x_coordinate == 0.25;
x_250 = FF1(idx_250,:);
This was repeated for each X value from 0.25 to 4, in 0.25 intervals. In attempt to neaten this up I tried to create a for loop.
for i = 1 :length(xv1)
id = FFF1.x_coordinate == xv1(i);
idTable = FFF1(id,:);
%Here I will process the data within idTable and save it in an appropriate array
end
Here, xv1 is a vector containing all of my x values [0.25 0.5 … 4].
However, when i = 1 and xv1(i) therefore equals 0.25, the id vector only has one true value. However if I put: id = FFF1.x_coordinate == 0.25, there is no problem. Could someone please explain why it would work if i directly type 0.25 vs a variable with the same value? Thanks!I am attempting to sort a large set of 3D data, into 2D frames. For context, the data I have imported is a text file and I want to seperate the text file into seperate tables, which all have the same X value. I had previously done this by creating several ID variables…
idx_250 = FFF1.x_coordinate == 0.25;
x_250 = FF1(idx_250,:);
This was repeated for each X value from 0.25 to 4, in 0.25 intervals. In attempt to neaten this up I tried to create a for loop.
for i = 1 :length(xv1)
id = FFF1.x_coordinate == xv1(i);
idTable = FFF1(id,:);
%Here I will process the data within idTable and save it in an appropriate array
end
Here, xv1 is a vector containing all of my x values [0.25 0.5 … 4].
However, when i = 1 and xv1(i) therefore equals 0.25, the id vector only has one true value. However if I put: id = FFF1.x_coordinate == 0.25, there is no problem. Could someone please explain why it would work if i directly type 0.25 vs a variable with the same value? Thanks! I am attempting to sort a large set of 3D data, into 2D frames. For context, the data I have imported is a text file and I want to seperate the text file into seperate tables, which all have the same X value. I had previously done this by creating several ID variables…
idx_250 = FFF1.x_coordinate == 0.25;
x_250 = FF1(idx_250,:);
This was repeated for each X value from 0.25 to 4, in 0.25 intervals. In attempt to neaten this up I tried to create a for loop.
for i = 1 :length(xv1)
id = FFF1.x_coordinate == xv1(i);
idTable = FFF1(id,:);
%Here I will process the data within idTable and save it in an appropriate array
end
Here, xv1 is a vector containing all of my x values [0.25 0.5 … 4].
However, when i = 1 and xv1(i) therefore equals 0.25, the id vector only has one true value. However if I put: id = FFF1.x_coordinate == 0.25, there is no problem. Could someone please explain why it would work if i directly type 0.25 vs a variable with the same value? Thanks! table MATLAB Answers — New Questions
Matlab Deployed Applications and Libraries
Hello,
I have a very large Matlab application, and am able to use the mcc command to successfully make it a stand-alone application.
However, our application also supports the ability for the user to create custom *.m files to perform certain behaviors, sort of like a plugin. We do not compile these files, as they are in a separate location and can be changed at any time. To allow our users to utilize these files in a deployed application, when the user selects one of these files to be used, we actually open an instance of regular Matlab, process their file, and return the data produced back to our deployed application (in a struct), to allow the user to inspect it.
We would like to have a way to compile/create a library of those custom *.m files, that our deployed application could access, instead of having a very unstable interface. I have looked at the libraryCompiler tool, but that seems to be for Java/C++/etc, I can’t find anything for making a library of *.m files.
Quick summary:
* Currently have a large "main" GUI application.
* The application can access custom user-written functions (.m files) in a completely different directory, even across a network.
* Would like a way to compile/deploy those functions in a way that could be treated as an "external" library and be used by a deployed version of the main application.
Thanks a bunch! If there’s anything I can clear up, please let me know.Hello,
I have a very large Matlab application, and am able to use the mcc command to successfully make it a stand-alone application.
However, our application also supports the ability for the user to create custom *.m files to perform certain behaviors, sort of like a plugin. We do not compile these files, as they are in a separate location and can be changed at any time. To allow our users to utilize these files in a deployed application, when the user selects one of these files to be used, we actually open an instance of regular Matlab, process their file, and return the data produced back to our deployed application (in a struct), to allow the user to inspect it.
We would like to have a way to compile/create a library of those custom *.m files, that our deployed application could access, instead of having a very unstable interface. I have looked at the libraryCompiler tool, but that seems to be for Java/C++/etc, I can’t find anything for making a library of *.m files.
Quick summary:
* Currently have a large "main" GUI application.
* The application can access custom user-written functions (.m files) in a completely different directory, even across a network.
* Would like a way to compile/deploy those functions in a way that could be treated as an "external" library and be used by a deployed version of the main application.
Thanks a bunch! If there’s anything I can clear up, please let me know. Hello,
I have a very large Matlab application, and am able to use the mcc command to successfully make it a stand-alone application.
However, our application also supports the ability for the user to create custom *.m files to perform certain behaviors, sort of like a plugin. We do not compile these files, as they are in a separate location and can be changed at any time. To allow our users to utilize these files in a deployed application, when the user selects one of these files to be used, we actually open an instance of regular Matlab, process their file, and return the data produced back to our deployed application (in a struct), to allow the user to inspect it.
We would like to have a way to compile/create a library of those custom *.m files, that our deployed application could access, instead of having a very unstable interface. I have looked at the libraryCompiler tool, but that seems to be for Java/C++/etc, I can’t find anything for making a library of *.m files.
Quick summary:
* Currently have a large "main" GUI application.
* The application can access custom user-written functions (.m files) in a completely different directory, even across a network.
* Would like a way to compile/deploy those functions in a way that could be treated as an "external" library and be used by a deployed version of the main application.
Thanks a bunch! If there’s anything I can clear up, please let me know. library, compiler, deploytool, matlab, external library MATLAB Answers — New Questions
How to select control points for B-spline smoothing?
I have an initial path that resulted from RRT-connect algorithm in the form (xi,yi) and i want to smooth it using B-spline algorithm. The question is "Shall i consider all the returned (xi,yi) values as control points or shall i choose some? and if the second what are the criteria to choose some waypoints as control points and not the others?I have an initial path that resulted from RRT-connect algorithm in the form (xi,yi) and i want to smooth it using B-spline algorithm. The question is "Shall i consider all the returned (xi,yi) values as control points or shall i choose some? and if the second what are the criteria to choose some waypoints as control points and not the others? I have an initial path that resulted from RRT-connect algorithm in the form (xi,yi) and i want to smooth it using B-spline algorithm. The question is "Shall i consider all the returned (xi,yi) values as control points or shall i choose some? and if the second what are the criteria to choose some waypoints as control points and not the others? path planning, path smoothing, b-spline MATLAB Answers — New Questions
I want to make a prediction from a trained neural network and have the prediction displayed on a display block
I am doing a school project using Neural networks to predict faults, I have already trained the neural network, but I am finding it difficult to use the trained model directly on simulink, using the predict blocks. I was able to use script to extract the data and make prediction and display on the workspace, but I want everything to run directly from simulinkI am doing a school project using Neural networks to predict faults, I have already trained the neural network, but I am finding it difficult to use the trained model directly on simulink, using the predict blocks. I was able to use script to extract the data and make prediction and display on the workspace, but I want everything to run directly from simulink I am doing a school project using Neural networks to predict faults, I have already trained the neural network, but I am finding it difficult to use the trained model directly on simulink, using the predict blocks. I was able to use script to extract the data and make prediction and display on the workspace, but I want everything to run directly from simulink neural network MATLAB Answers — New Questions
How can I add my own electrical supply data to the PEMElectrolysisSystem simulation?
I have on my workspace my own data of voltage and current that I would like to use as an Electrical Supply for the Electrolyzer. The data is type: double, size: 934906 x 1. I would like to understand how do I use my data and connect it in the Simulink model? I have tried using the ‘From Workspace’ block after adjusting my data to be in ‘timeseries’ class, but with no success. I would like to understand what class should my data be in, what block to use and where to connect my inputed data?
Thanks in advance!I have on my workspace my own data of voltage and current that I would like to use as an Electrical Supply for the Electrolyzer. The data is type: double, size: 934906 x 1. I would like to understand how do I use my data and connect it in the Simulink model? I have tried using the ‘From Workspace’ block after adjusting my data to be in ‘timeseries’ class, but with no success. I would like to understand what class should my data be in, what block to use and where to connect my inputed data?
Thanks in advance! I have on my workspace my own data of voltage and current that I would like to use as an Electrical Supply for the Electrolyzer. The data is type: double, size: 934906 x 1. I would like to understand how do I use my data and connect it in the Simulink model? I have tried using the ‘From Workspace’ block after adjusting my data to be in ‘timeseries’ class, but with no success. I would like to understand what class should my data be in, what block to use and where to connect my inputed data?
Thanks in advance! electric_supply MATLAB Answers — New Questions
Converting Mathcad to Matlab
I have a book with some good radar equations in it. However, everything is in Mathcad – I use Matlab. I’ve been converting everything I use from Mathcad to Matlab. I’ve run into one I’m not sure how to convert.
Mathcad has a function called root. The equation I’m interested in converting is:
root(f1(u) – sqrt(0.5), u, 0.3, 0.7
As I understand it, ‘root’ returns the value of u to make the function f1 equal to zero. With 0.3 and 0.7 being specified, root finds u on this interval.
How do I accomplish the same thing using Matlab?
Thanks,
KimI have a book with some good radar equations in it. However, everything is in Mathcad – I use Matlab. I’ve been converting everything I use from Mathcad to Matlab. I’ve run into one I’m not sure how to convert.
Mathcad has a function called root. The equation I’m interested in converting is:
root(f1(u) – sqrt(0.5), u, 0.3, 0.7
As I understand it, ‘root’ returns the value of u to make the function f1 equal to zero. With 0.3 and 0.7 being specified, root finds u on this interval.
How do I accomplish the same thing using Matlab?
Thanks,
Kim I have a book with some good radar equations in it. However, everything is in Mathcad – I use Matlab. I’ve been converting everything I use from Mathcad to Matlab. I’ve run into one I’m not sure how to convert.
Mathcad has a function called root. The equation I’m interested in converting is:
root(f1(u) – sqrt(0.5), u, 0.3, 0.7
As I understand it, ‘root’ returns the value of u to make the function f1 equal to zero. With 0.3 and 0.7 being specified, root finds u on this interval.
How do I accomplish the same thing using Matlab?
Thanks,
Kim mathcad, root MATLAB Answers — New Questions
Is there any way I can keep the “UIAxes” at the front of “UITable”?
How can I keep the "UIAxes" in front of the "UITable" in my MATLAB UI application?How can I keep the "UIAxes" in front of the "UITable" in my MATLAB UI application? How can I keep the "UIAxes" in front of the "UITable" in my MATLAB UI application? uiaxes, front, uitable MATLAB Answers — New Questions