Author: PuTI
step by step running of matlab
hello, is there a way of running matlab, so I can see each step it does.
I would like to point out that I want to see any action it does.
for example, if there is a row in which it refers to a function, so I want matlab to show me what happens in any row of the function, what the variables are etc.
thankshello, is there a way of running matlab, so I can see each step it does.
I would like to point out that I want to see any action it does.
for example, if there is a row in which it refers to a function, so I want matlab to show me what happens in any row of the function, what the variables are etc.
thanks hello, is there a way of running matlab, so I can see each step it does.
I would like to point out that I want to see any action it does.
for example, if there is a row in which it refers to a function, so I want matlab to show me what happens in any row of the function, what the variables are etc.
thanks step by step running MATLAB Answers — New Questions
How to call a function within a class in legacy code tool structure?
Hello,
I do have a .cpp file that I want to integrate with Matlab through legacy code tool. My original code involves functions defined within a class, what is the proper way to write "def.OutputFcnSpec" command?Hello,
I do have a .cpp file that I want to integrate with Matlab through legacy code tool. My original code involves functions defined within a class, what is the proper way to write "def.OutputFcnSpec" command? Hello,
I do have a .cpp file that I want to integrate with Matlab through legacy code tool. My original code involves functions defined within a class, what is the proper way to write "def.OutputFcnSpec" command? legacy, c++ MATLAB Answers — New Questions
How does one factor a SISO transfer function?
I’d like a function that factors SISO transfer functions to a series of second and first order transfer functions. Is there a Matlab function that accomplishes that?I’d like a function that factors SISO transfer functions to a series of second and first order transfer functions. Is there a Matlab function that accomplishes that? I’d like a function that factors SISO transfer functions to a series of second and first order transfer functions. Is there a Matlab function that accomplishes that? transfer function, siso, factoring MATLAB Answers — New Questions
Exception in thread “AWT-EventQueue-0”: java.lang.RuntimeException: java.lang.NoClassDefFoundError:
Hola, cada vez que trato de abrir un nuevo script en mathlab me aparece este error, no lo puedo usar desde que lo instale. Alguien sabe como arreglarlo?
Hi, every time I try to open a new script it promps this error, I can’t use mathlab at all, does anybody know how to fix it?
Exception in thread "AWT-EventQueue-0": java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/mathworks/toolbox/eml/EmlStorageLocation
at com.mathworks.mde.editor.EditorUtils.invokeAndWait(EditorUtils.java:574)
at com.mathworks.mde.editor.MatlabEditorApplication.newEditor(MatlabEditorApplication.java:119)
at com.mathworks.mde.desk.MLDesktop$NewMFileAction.actionPerformed(MLDesktop.java:2831)
at com.mathworks.mwswing.ChildAction.actionPerformed(ChildAction.java:214)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at com.mathworks.toolstrip.plaf.RegularButtonUI$RegularToolstripButtonListener.mouseReleasedImpl(RegularButtonUI.java:364)
at com.mathworks.toolstrip.plaf.RegularButtonUI$RegularToolstripButtonListener.mouseReleased(RegularButtonUI.java:354)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6539)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at com.mathworks.mwswing.MJButton.processMouseEvent(MJButton.java:350)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.NoClassDefFoundError: com/mathworks/toolbox/eml/EmlStorageLocation
at com.mathworks.toolbox.eml.breakpoints.EmlMarginProvider.isApplicable(EmlMarginProvider.java:21)
at com.mathworks.mde.editor.EditorView.getApplicableMarginProviders(EditorView.java:252)
at com.mathworks.mde.editor.EditorView.initSyntaxTextPane(EditorView.java:885)
at com.mathworks.mde.editor.EditorView.<init>(EditorView.java:222)
at com.mathworks.mde.editor.EditorView.<init>(EditorView.java:153)
at com.mathworks.mde.editor.EditorViewClient.init(EditorViewClient.java:234)
at com.mathworks.mde.editor.EditorViewClient.<init>(EditorViewClient.java:178)
at com.mathworks.mde.editor.MatlabEditorApplication.createEditorViewClient(MatlabEditorApplication.java:704)
at com.mathworks.mde.editor.MatlabEditorApplication.createEditorViewClient(MatlabEditorApplication.java:689)
at com.mathworks.mde.editor.MatlabEditorApplication.createBufferEditorViewClient(MatlabEditorApplication.java:611)
at com.mathworks.mde.editor.MatlabEditorApplication.doNewEditor(MatlabEditorApplication.java:381)
at com.mathworks.mde.editor.MatlabEditorApplication.access$000(MatlabEditorApplication.java:77)
at com.mathworks.mde.editor.MatlabEditorApplication$1.runWithOutput(MatlabEditorApplication.java:123)
at com.mathworks.jmi.AWTUtilities$Invoker$2.watchedRun(AWTUtilities.java:475)
at com.mathworks.jmi.AWTUtilities$WatchedRunnable.run(AWTUtilities.java:436)
at com.mathworks.jmi.AWTUtilities$Invoker.invoke(AWTUtilities.java:490)
at com.mathworks.jmi.AWTUtilities.invokeAndWait(AWTUtilities.java:351)
at com.mathworks.mde.editor.EditorUtils.invokeAndWait(EditorUtils.java:570)
… 42 moreHola, cada vez que trato de abrir un nuevo script en mathlab me aparece este error, no lo puedo usar desde que lo instale. Alguien sabe como arreglarlo?
Hi, every time I try to open a new script it promps this error, I can’t use mathlab at all, does anybody know how to fix it?
Exception in thread "AWT-EventQueue-0": java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/mathworks/toolbox/eml/EmlStorageLocation
at com.mathworks.mde.editor.EditorUtils.invokeAndWait(EditorUtils.java:574)
at com.mathworks.mde.editor.MatlabEditorApplication.newEditor(MatlabEditorApplication.java:119)
at com.mathworks.mde.desk.MLDesktop$NewMFileAction.actionPerformed(MLDesktop.java:2831)
at com.mathworks.mwswing.ChildAction.actionPerformed(ChildAction.java:214)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at com.mathworks.toolstrip.plaf.RegularButtonUI$RegularToolstripButtonListener.mouseReleasedImpl(RegularButtonUI.java:364)
at com.mathworks.toolstrip.plaf.RegularButtonUI$RegularToolstripButtonListener.mouseReleased(RegularButtonUI.java:354)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6539)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at com.mathworks.mwswing.MJButton.processMouseEvent(MJButton.java:350)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.NoClassDefFoundError: com/mathworks/toolbox/eml/EmlStorageLocation
at com.mathworks.toolbox.eml.breakpoints.EmlMarginProvider.isApplicable(EmlMarginProvider.java:21)
at com.mathworks.mde.editor.EditorView.getApplicableMarginProviders(EditorView.java:252)
at com.mathworks.mde.editor.EditorView.initSyntaxTextPane(EditorView.java:885)
at com.mathworks.mde.editor.EditorView.<init>(EditorView.java:222)
at com.mathworks.mde.editor.EditorView.<init>(EditorView.java:153)
at com.mathworks.mde.editor.EditorViewClient.init(EditorViewClient.java:234)
at com.mathworks.mde.editor.EditorViewClient.<init>(EditorViewClient.java:178)
at com.mathworks.mde.editor.MatlabEditorApplication.createEditorViewClient(MatlabEditorApplication.java:704)
at com.mathworks.mde.editor.MatlabEditorApplication.createEditorViewClient(MatlabEditorApplication.java:689)
at com.mathworks.mde.editor.MatlabEditorApplication.createBufferEditorViewClient(MatlabEditorApplication.java:611)
at com.mathworks.mde.editor.MatlabEditorApplication.doNewEditor(MatlabEditorApplication.java:381)
at com.mathworks.mde.editor.MatlabEditorApplication.access$000(MatlabEditorApplication.java:77)
at com.mathworks.mde.editor.MatlabEditorApplication$1.runWithOutput(MatlabEditorApplication.java:123)
at com.mathworks.jmi.AWTUtilities$Invoker$2.watchedRun(AWTUtilities.java:475)
at com.mathworks.jmi.AWTUtilities$WatchedRunnable.run(AWTUtilities.java:436)
at com.mathworks.jmi.AWTUtilities$Invoker.invoke(AWTUtilities.java:490)
at com.mathworks.jmi.AWTUtilities.invokeAndWait(AWTUtilities.java:351)
at com.mathworks.mde.editor.EditorUtils.invokeAndWait(EditorUtils.java:570)
… 42 more Hola, cada vez que trato de abrir un nuevo script en mathlab me aparece este error, no lo puedo usar desde que lo instale. Alguien sabe como arreglarlo?
Hi, every time I try to open a new script it promps this error, I can’t use mathlab at all, does anybody know how to fix it?
Exception in thread "AWT-EventQueue-0": java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/mathworks/toolbox/eml/EmlStorageLocation
at com.mathworks.mde.editor.EditorUtils.invokeAndWait(EditorUtils.java:574)
at com.mathworks.mde.editor.MatlabEditorApplication.newEditor(MatlabEditorApplication.java:119)
at com.mathworks.mde.desk.MLDesktop$NewMFileAction.actionPerformed(MLDesktop.java:2831)
at com.mathworks.mwswing.ChildAction.actionPerformed(ChildAction.java:214)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at com.mathworks.toolstrip.plaf.RegularButtonUI$RegularToolstripButtonListener.mouseReleasedImpl(RegularButtonUI.java:364)
at com.mathworks.toolstrip.plaf.RegularButtonUI$RegularToolstripButtonListener.mouseReleased(RegularButtonUI.java:354)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6539)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at com.mathworks.mwswing.MJButton.processMouseEvent(MJButton.java:350)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.NoClassDefFoundError: com/mathworks/toolbox/eml/EmlStorageLocation
at com.mathworks.toolbox.eml.breakpoints.EmlMarginProvider.isApplicable(EmlMarginProvider.java:21)
at com.mathworks.mde.editor.EditorView.getApplicableMarginProviders(EditorView.java:252)
at com.mathworks.mde.editor.EditorView.initSyntaxTextPane(EditorView.java:885)
at com.mathworks.mde.editor.EditorView.<init>(EditorView.java:222)
at com.mathworks.mde.editor.EditorView.<init>(EditorView.java:153)
at com.mathworks.mde.editor.EditorViewClient.init(EditorViewClient.java:234)
at com.mathworks.mde.editor.EditorViewClient.<init>(EditorViewClient.java:178)
at com.mathworks.mde.editor.MatlabEditorApplication.createEditorViewClient(MatlabEditorApplication.java:704)
at com.mathworks.mde.editor.MatlabEditorApplication.createEditorViewClient(MatlabEditorApplication.java:689)
at com.mathworks.mde.editor.MatlabEditorApplication.createBufferEditorViewClient(MatlabEditorApplication.java:611)
at com.mathworks.mde.editor.MatlabEditorApplication.doNewEditor(MatlabEditorApplication.java:381)
at com.mathworks.mde.editor.MatlabEditorApplication.access$000(MatlabEditorApplication.java:77)
at com.mathworks.mde.editor.MatlabEditorApplication$1.runWithOutput(MatlabEditorApplication.java:123)
at com.mathworks.jmi.AWTUtilities$Invoker$2.watchedRun(AWTUtilities.java:475)
at com.mathworks.jmi.AWTUtilities$WatchedRunnable.run(AWTUtilities.java:436)
at com.mathworks.jmi.AWTUtilities$Invoker.invoke(AWTUtilities.java:490)
at com.mathworks.jmi.AWTUtilities.invokeAndWait(AWTUtilities.java:351)
at com.mathworks.mde.editor.EditorUtils.invokeAndWait(EditorUtils.java:570)
… 42 more awt-eventqueue MATLAB Answers — New Questions
Solving a DAE system: Error using decic function. index greater than 1 despite isLowIndexDAE = TRUE
I am trying to solve a system of DAEs that emerge in a constrained optimal control problem. I cannot find the consistent initial conditions. The error I get when looking for them using decic is that the index may be larger than 1, even though the isLowIndexDAE indicates that index is low. The error message is:
Error using decic>sls (line 170)
Index may be greater than one.
Error in decic (line 77)
[dy,dyp] = sls(res,dfdy,dfdyp,neq,free_y,free_yp);|
The variables psi1 and psi2 are the lagrange multipliers on two constraints: XB(t)>=0 and HW(t)=<1. Equations 6 and 7 are conseqiuently the complementary slackness conditions. I want to find the initial conditions in which both of these constraints bind, hence my guesses XB0=0 and HW0=1. Guesses for a few other variables follow. I tried relaxing the fixed guesses (and fix the relaxed ones) in the decic function in many different ways, but if I do that, then the only result is that I get a different error, for example:
Error using decic>sls (line 168)
Try freeing 7 fixed components.
Error in decic (line 77)
[dy,dyp] = sls(res,dfdy,dfdyp,neq,free_y,free_yp);
Error in ode_mathtoolbox (line 64)
[y0, yp0] = decic(F, 0, y0est, [0,1,1,1,0,1,1], yp0est, [0,0,1,1,0,0,0], opt)
My code is:
clear all
syms XB(t) HW(t) A(t) N(t) mu(t) psi1(t) psi2(t) …
rho nu n alpha alphahat chi lam phi delta s
eqn1 = N(t)/(A(t)*(1-s)*HW(t)*N(t)*alphahat – XB(t)) == (1-HW(t))*(1-nu)*(XB(t))^(-nu)+psi1(t);
eqn2 = (N(t)/(A(t)*(1-s)*HW(t)*N(t)*alphahat – XB(t)))*(A(t)*(1-s)*N(t)*alphahat) == XB(t)^(1-nu) – mu(t)*delta*lam*(A(t)^(phi))*((s*N(t))^lam)*(HW(t)^(lam-1)) + psi2(t);
eqn3 = diff(A(t), 1) == delta*(A(t)^phi)*(s*N(t)*HW(t))^lam;
eqn4 = diff(N(t), 1) == n*N(t);
eqn5 = diff(mu(t),1) == -(1-HW(t))*(1-nu)*(XB(t)^(-nu))*(1-s)*HW(t)*N(t)*alphahat + mu(t)*delta*phi*((A(t))^(phi-1))*(s*HW(t)*N)^lam + rho*mu(t);
eqn6 = XB(t)*psi1(t) == 0;
eqn7 = (1-HW(t))*psi2(t) == 0;
eqns = [eqn1 eqn2 eqn3 eqn4 eqn5 eqn6 eqn7];
vars = [XB(t), HW(t), A(t), N(t), mu(t), psi1(t), psi2(t)];
origVars = length(vars)
M = incidenceMatrix(eqns, vars)
isLowIndexDAE(eqns,vars)
[DAEs,DAEvars] = reduceDAEIndex(eqns,vars);
[DAEs,DAEvars] = reduceRedundancies(DAEs,DAEvars);
isLowIndexDAE(DAEs,DAEvars)
pDAEs = symvar(DAEs);
pDAEvars = symvar(DAEvars);
extraParams = setdiff(pDAEs, pDAEvars);
f = daeFunction(DAEs, DAEvars, alphahat, delta, lam, n, nu, phi, rho, s);
rho = 0.02;
nu = 0.9;
n = 0.01;
alpha = 0.33;
chi = 0.05;
lam = 0.65;
phi = 0.65;
delta = 0.057;
s = 0.2;
alphahat = alpha^(alpha/(1-alpha))-alpha^(1/(1-alpha));
F = @(t,Y,YP) f(t, Y, YP, alphahat, delta, lam, n, nu, phi, rho, s);
DAEvars
XB0 = 0;
HW0 = 1;
A0 = 1;
N0 = 1;
mu0 = 0;
y0est = [XB0; HW0; A0; N0; mu0; 1/(A0*(1-s)*N0*alphahat); 1+mu0*delta*lam*s*((A0)^phi)*(N0^lam)];
yp0est = [0,0,delta*(s^lam),n,0,0,0];
opt = odeset(‘RelTol’, 10.0^(-7), ‘AbsTol’ , 10.0^(-7));
[y0, yp0] = decic(F, 0, y0est, [0,0,0,1,0,0,0], yp0est, [0,0,0,0,0,0,0], opt)I am trying to solve a system of DAEs that emerge in a constrained optimal control problem. I cannot find the consistent initial conditions. The error I get when looking for them using decic is that the index may be larger than 1, even though the isLowIndexDAE indicates that index is low. The error message is:
Error using decic>sls (line 170)
Index may be greater than one.
Error in decic (line 77)
[dy,dyp] = sls(res,dfdy,dfdyp,neq,free_y,free_yp);|
The variables psi1 and psi2 are the lagrange multipliers on two constraints: XB(t)>=0 and HW(t)=<1. Equations 6 and 7 are conseqiuently the complementary slackness conditions. I want to find the initial conditions in which both of these constraints bind, hence my guesses XB0=0 and HW0=1. Guesses for a few other variables follow. I tried relaxing the fixed guesses (and fix the relaxed ones) in the decic function in many different ways, but if I do that, then the only result is that I get a different error, for example:
Error using decic>sls (line 168)
Try freeing 7 fixed components.
Error in decic (line 77)
[dy,dyp] = sls(res,dfdy,dfdyp,neq,free_y,free_yp);
Error in ode_mathtoolbox (line 64)
[y0, yp0] = decic(F, 0, y0est, [0,1,1,1,0,1,1], yp0est, [0,0,1,1,0,0,0], opt)
My code is:
clear all
syms XB(t) HW(t) A(t) N(t) mu(t) psi1(t) psi2(t) …
rho nu n alpha alphahat chi lam phi delta s
eqn1 = N(t)/(A(t)*(1-s)*HW(t)*N(t)*alphahat – XB(t)) == (1-HW(t))*(1-nu)*(XB(t))^(-nu)+psi1(t);
eqn2 = (N(t)/(A(t)*(1-s)*HW(t)*N(t)*alphahat – XB(t)))*(A(t)*(1-s)*N(t)*alphahat) == XB(t)^(1-nu) – mu(t)*delta*lam*(A(t)^(phi))*((s*N(t))^lam)*(HW(t)^(lam-1)) + psi2(t);
eqn3 = diff(A(t), 1) == delta*(A(t)^phi)*(s*N(t)*HW(t))^lam;
eqn4 = diff(N(t), 1) == n*N(t);
eqn5 = diff(mu(t),1) == -(1-HW(t))*(1-nu)*(XB(t)^(-nu))*(1-s)*HW(t)*N(t)*alphahat + mu(t)*delta*phi*((A(t))^(phi-1))*(s*HW(t)*N)^lam + rho*mu(t);
eqn6 = XB(t)*psi1(t) == 0;
eqn7 = (1-HW(t))*psi2(t) == 0;
eqns = [eqn1 eqn2 eqn3 eqn4 eqn5 eqn6 eqn7];
vars = [XB(t), HW(t), A(t), N(t), mu(t), psi1(t), psi2(t)];
origVars = length(vars)
M = incidenceMatrix(eqns, vars)
isLowIndexDAE(eqns,vars)
[DAEs,DAEvars] = reduceDAEIndex(eqns,vars);
[DAEs,DAEvars] = reduceRedundancies(DAEs,DAEvars);
isLowIndexDAE(DAEs,DAEvars)
pDAEs = symvar(DAEs);
pDAEvars = symvar(DAEvars);
extraParams = setdiff(pDAEs, pDAEvars);
f = daeFunction(DAEs, DAEvars, alphahat, delta, lam, n, nu, phi, rho, s);
rho = 0.02;
nu = 0.9;
n = 0.01;
alpha = 0.33;
chi = 0.05;
lam = 0.65;
phi = 0.65;
delta = 0.057;
s = 0.2;
alphahat = alpha^(alpha/(1-alpha))-alpha^(1/(1-alpha));
F = @(t,Y,YP) f(t, Y, YP, alphahat, delta, lam, n, nu, phi, rho, s);
DAEvars
XB0 = 0;
HW0 = 1;
A0 = 1;
N0 = 1;
mu0 = 0;
y0est = [XB0; HW0; A0; N0; mu0; 1/(A0*(1-s)*N0*alphahat); 1+mu0*delta*lam*s*((A0)^phi)*(N0^lam)];
yp0est = [0,0,delta*(s^lam),n,0,0,0];
opt = odeset(‘RelTol’, 10.0^(-7), ‘AbsTol’ , 10.0^(-7));
[y0, yp0] = decic(F, 0, y0est, [0,0,0,1,0,0,0], yp0est, [0,0,0,0,0,0,0], opt) I am trying to solve a system of DAEs that emerge in a constrained optimal control problem. I cannot find the consistent initial conditions. The error I get when looking for them using decic is that the index may be larger than 1, even though the isLowIndexDAE indicates that index is low. The error message is:
Error using decic>sls (line 170)
Index may be greater than one.
Error in decic (line 77)
[dy,dyp] = sls(res,dfdy,dfdyp,neq,free_y,free_yp);|
The variables psi1 and psi2 are the lagrange multipliers on two constraints: XB(t)>=0 and HW(t)=<1. Equations 6 and 7 are conseqiuently the complementary slackness conditions. I want to find the initial conditions in which both of these constraints bind, hence my guesses XB0=0 and HW0=1. Guesses for a few other variables follow. I tried relaxing the fixed guesses (and fix the relaxed ones) in the decic function in many different ways, but if I do that, then the only result is that I get a different error, for example:
Error using decic>sls (line 168)
Try freeing 7 fixed components.
Error in decic (line 77)
[dy,dyp] = sls(res,dfdy,dfdyp,neq,free_y,free_yp);
Error in ode_mathtoolbox (line 64)
[y0, yp0] = decic(F, 0, y0est, [0,1,1,1,0,1,1], yp0est, [0,0,1,1,0,0,0], opt)
My code is:
clear all
syms XB(t) HW(t) A(t) N(t) mu(t) psi1(t) psi2(t) …
rho nu n alpha alphahat chi lam phi delta s
eqn1 = N(t)/(A(t)*(1-s)*HW(t)*N(t)*alphahat – XB(t)) == (1-HW(t))*(1-nu)*(XB(t))^(-nu)+psi1(t);
eqn2 = (N(t)/(A(t)*(1-s)*HW(t)*N(t)*alphahat – XB(t)))*(A(t)*(1-s)*N(t)*alphahat) == XB(t)^(1-nu) – mu(t)*delta*lam*(A(t)^(phi))*((s*N(t))^lam)*(HW(t)^(lam-1)) + psi2(t);
eqn3 = diff(A(t), 1) == delta*(A(t)^phi)*(s*N(t)*HW(t))^lam;
eqn4 = diff(N(t), 1) == n*N(t);
eqn5 = diff(mu(t),1) == -(1-HW(t))*(1-nu)*(XB(t)^(-nu))*(1-s)*HW(t)*N(t)*alphahat + mu(t)*delta*phi*((A(t))^(phi-1))*(s*HW(t)*N)^lam + rho*mu(t);
eqn6 = XB(t)*psi1(t) == 0;
eqn7 = (1-HW(t))*psi2(t) == 0;
eqns = [eqn1 eqn2 eqn3 eqn4 eqn5 eqn6 eqn7];
vars = [XB(t), HW(t), A(t), N(t), mu(t), psi1(t), psi2(t)];
origVars = length(vars)
M = incidenceMatrix(eqns, vars)
isLowIndexDAE(eqns,vars)
[DAEs,DAEvars] = reduceDAEIndex(eqns,vars);
[DAEs,DAEvars] = reduceRedundancies(DAEs,DAEvars);
isLowIndexDAE(DAEs,DAEvars)
pDAEs = symvar(DAEs);
pDAEvars = symvar(DAEvars);
extraParams = setdiff(pDAEs, pDAEvars);
f = daeFunction(DAEs, DAEvars, alphahat, delta, lam, n, nu, phi, rho, s);
rho = 0.02;
nu = 0.9;
n = 0.01;
alpha = 0.33;
chi = 0.05;
lam = 0.65;
phi = 0.65;
delta = 0.057;
s = 0.2;
alphahat = alpha^(alpha/(1-alpha))-alpha^(1/(1-alpha));
F = @(t,Y,YP) f(t, Y, YP, alphahat, delta, lam, n, nu, phi, rho, s);
DAEvars
XB0 = 0;
HW0 = 1;
A0 = 1;
N0 = 1;
mu0 = 0;
y0est = [XB0; HW0; A0; N0; mu0; 1/(A0*(1-s)*N0*alphahat); 1+mu0*delta*lam*s*((A0)^phi)*(N0^lam)];
yp0est = [0,0,delta*(s^lam),n,0,0,0];
opt = odeset(‘RelTol’, 10.0^(-7), ‘AbsTol’ , 10.0^(-7));
[y0, yp0] = decic(F, 0, y0est, [0,0,0,1,0,0,0], yp0est, [0,0,0,0,0,0,0], opt) decic MATLAB Answers — New Questions
question about dely lines
EDITED:
Hey guys, I want to implement an allpass filter but i struggle with the difference equation and its implementation:
heres the structure
and here are the difference equations:
So finally I got the difference equation. I also tried to implemend it into my process function. (d(n) is a delay line in my code before i wanted to implemt the allpass, therefore I commented it out, but can be useful to compare). m(k) and m'(k) are both delays that are calculated. zeta is set to be one and is therefore not in the equation. The plugin sounds wrong and horrible if I try this way. Anyone got an Idea?
function out = process(plugin, in)
out = zeros(size(in));
for i = 1:size(in,1)
% Summieren der L/R – Kanle
inL = in(i,1);
inR = in(i,2);
inSum = (inL + inR)/2;
plugin.buffInput(plugin.pBuffInput + 1) = inSum;
% loop over delay lines
for n=1:plugin.N
% plugin.y_a = 0;
% d_n = gain * delayed v_n
for k=1:plugin.N
% if k == 2 && mod(plugin.pBuffDelayLines,2) == 0
% plugin.gy(k) = 0;
%
% end
plugin.Dg(k) = sqrt(1-plugin.g(k)^2);
%plugin.d(k) = plugin.g(k)*plugin.buffDelayLines(k, mod(plugin.pBuffDelayLines + plugin.m(k), plugin.maxDelay +1) + 1);
% d(k) = (((sqrt(1-plugin.g(k)^2)^2)+ plugin.g(k)^2 + plugin.g(k)^2) * x1_m0p) + (plugin.g(k) * x1_m0) – (plugin.g(k) * y_m0p);
x1_m0p = plugin.buffDelayLines(k, mod(plugin.pBuffDelayLines + plugin.m(k)+plugin.m'(k)+1, plugin.maxDelay +1) + 1);
x1_m1p =plugin.buffDelayLines(k, mod(plugin.pBuffDelayLines+ plugin.m(k) +1, plugin.maxDelay +1) + 1);
plugin.d(k)= (plugin.Dg(k)^2+plugin.g(k)^2)*x1_m0p + plugin.g(k)*x1_m1p- plugin.g(k)*plugin.y_a(k);
plugin.y_a(k) = plugin.d(k);
end
%generate time variant matrix
%generateTIFDNmatrix(plugin,buffA);
% f_n = A(n,:) * d’
plugin.f(n) = plugin.A(n,:) * plugin.d(:);
% v_n with pre delay
plugin.v(n) = plugin.b(n) * plugin.buffInput(mod(plugin.pBuffInput + plugin.preDelayS, (plugin.maxPreDelay * plugin.fs + 1)) + 1) …
+ plugin.f(n); %An pe delay noch arbeiten
plugin.buffDelayLines(n, plugin.pBuffDelayLines + 1) = plugin.v(n);
% output lines
plugin.s(n) = plugin.c(n)* plugin.d(n);
out(i,:) = out(i,:) + real(plugin.s(n));
end
% Assign to output
out(i,1) = plugin.mix/100 * out(i,1) + (1.0 – plugin.mix/100) * in(i,1);
out(i,2) = plugin.mix/100 * out(i,2) + (1.0 – plugin.mix/100) * in(i,2);
calculatePointer(plugin);
end
endEDITED:
Hey guys, I want to implement an allpass filter but i struggle with the difference equation and its implementation:
heres the structure
and here are the difference equations:
So finally I got the difference equation. I also tried to implemend it into my process function. (d(n) is a delay line in my code before i wanted to implemt the allpass, therefore I commented it out, but can be useful to compare). m(k) and m'(k) are both delays that are calculated. zeta is set to be one and is therefore not in the equation. The plugin sounds wrong and horrible if I try this way. Anyone got an Idea?
function out = process(plugin, in)
out = zeros(size(in));
for i = 1:size(in,1)
% Summieren der L/R – Kanle
inL = in(i,1);
inR = in(i,2);
inSum = (inL + inR)/2;
plugin.buffInput(plugin.pBuffInput + 1) = inSum;
% loop over delay lines
for n=1:plugin.N
% plugin.y_a = 0;
% d_n = gain * delayed v_n
for k=1:plugin.N
% if k == 2 && mod(plugin.pBuffDelayLines,2) == 0
% plugin.gy(k) = 0;
%
% end
plugin.Dg(k) = sqrt(1-plugin.g(k)^2);
%plugin.d(k) = plugin.g(k)*plugin.buffDelayLines(k, mod(plugin.pBuffDelayLines + plugin.m(k), plugin.maxDelay +1) + 1);
% d(k) = (((sqrt(1-plugin.g(k)^2)^2)+ plugin.g(k)^2 + plugin.g(k)^2) * x1_m0p) + (plugin.g(k) * x1_m0) – (plugin.g(k) * y_m0p);
x1_m0p = plugin.buffDelayLines(k, mod(plugin.pBuffDelayLines + plugin.m(k)+plugin.m'(k)+1, plugin.maxDelay +1) + 1);
x1_m1p =plugin.buffDelayLines(k, mod(plugin.pBuffDelayLines+ plugin.m(k) +1, plugin.maxDelay +1) + 1);
plugin.d(k)= (plugin.Dg(k)^2+plugin.g(k)^2)*x1_m0p + plugin.g(k)*x1_m1p- plugin.g(k)*plugin.y_a(k);
plugin.y_a(k) = plugin.d(k);
end
%generate time variant matrix
%generateTIFDNmatrix(plugin,buffA);
% f_n = A(n,:) * d’
plugin.f(n) = plugin.A(n,:) * plugin.d(:);
% v_n with pre delay
plugin.v(n) = plugin.b(n) * plugin.buffInput(mod(plugin.pBuffInput + plugin.preDelayS, (plugin.maxPreDelay * plugin.fs + 1)) + 1) …
+ plugin.f(n); %An pe delay noch arbeiten
plugin.buffDelayLines(n, plugin.pBuffDelayLines + 1) = plugin.v(n);
% output lines
plugin.s(n) = plugin.c(n)* plugin.d(n);
out(i,:) = out(i,:) + real(plugin.s(n));
end
% Assign to output
out(i,1) = plugin.mix/100 * out(i,1) + (1.0 – plugin.mix/100) * in(i,1);
out(i,2) = plugin.mix/100 * out(i,2) + (1.0 – plugin.mix/100) * in(i,2);
calculatePointer(plugin);
end
end EDITED:
Hey guys, I want to implement an allpass filter but i struggle with the difference equation and its implementation:
heres the structure
and here are the difference equations:
So finally I got the difference equation. I also tried to implemend it into my process function. (d(n) is a delay line in my code before i wanted to implemt the allpass, therefore I commented it out, but can be useful to compare). m(k) and m'(k) are both delays that are calculated. zeta is set to be one and is therefore not in the equation. The plugin sounds wrong and horrible if I try this way. Anyone got an Idea?
function out = process(plugin, in)
out = zeros(size(in));
for i = 1:size(in,1)
% Summieren der L/R – Kanle
inL = in(i,1);
inR = in(i,2);
inSum = (inL + inR)/2;
plugin.buffInput(plugin.pBuffInput + 1) = inSum;
% loop over delay lines
for n=1:plugin.N
% plugin.y_a = 0;
% d_n = gain * delayed v_n
for k=1:plugin.N
% if k == 2 && mod(plugin.pBuffDelayLines,2) == 0
% plugin.gy(k) = 0;
%
% end
plugin.Dg(k) = sqrt(1-plugin.g(k)^2);
%plugin.d(k) = plugin.g(k)*plugin.buffDelayLines(k, mod(plugin.pBuffDelayLines + plugin.m(k), plugin.maxDelay +1) + 1);
% d(k) = (((sqrt(1-plugin.g(k)^2)^2)+ plugin.g(k)^2 + plugin.g(k)^2) * x1_m0p) + (plugin.g(k) * x1_m0) – (plugin.g(k) * y_m0p);
x1_m0p = plugin.buffDelayLines(k, mod(plugin.pBuffDelayLines + plugin.m(k)+plugin.m'(k)+1, plugin.maxDelay +1) + 1);
x1_m1p =plugin.buffDelayLines(k, mod(plugin.pBuffDelayLines+ plugin.m(k) +1, plugin.maxDelay +1) + 1);
plugin.d(k)= (plugin.Dg(k)^2+plugin.g(k)^2)*x1_m0p + plugin.g(k)*x1_m1p- plugin.g(k)*plugin.y_a(k);
plugin.y_a(k) = plugin.d(k);
end
%generate time variant matrix
%generateTIFDNmatrix(plugin,buffA);
% f_n = A(n,:) * d’
plugin.f(n) = plugin.A(n,:) * plugin.d(:);
% v_n with pre delay
plugin.v(n) = plugin.b(n) * plugin.buffInput(mod(plugin.pBuffInput + plugin.preDelayS, (plugin.maxPreDelay * plugin.fs + 1)) + 1) …
+ plugin.f(n); %An pe delay noch arbeiten
plugin.buffDelayLines(n, plugin.pBuffDelayLines + 1) = plugin.v(n);
% output lines
plugin.s(n) = plugin.c(n)* plugin.d(n);
out(i,:) = out(i,:) + real(plugin.s(n));
end
% Assign to output
out(i,1) = plugin.mix/100 * out(i,1) + (1.0 – plugin.mix/100) * in(i,1);
out(i,2) = plugin.mix/100 * out(i,2) + (1.0 – plugin.mix/100) * in(i,2);
calculatePointer(plugin);
end
end equation, digital signal processing MATLAB Answers — New Questions
Linear induction motor in simscape
Hello,
based on the examples in the ThreePhaseExamples_lib provided by mathworks, I wanted to customize the model for a linear induction motor. So far I’ve changed the library code to
component lim_custom
% Linear induction motor
%
parameters
nPolePairs = {1, ‘1’}; % Number of pole pairs
t_p = {0.05, ‘m’}; % pole pitch
pm_flux_linkage = {0.03, ‘Wb’}; % Permanent magnet flux linkage
stator_param = {1,’1′}; % Stator parameterization
Ld = {0.00025, ‘H’}; % Stator d-axis inductance, Ld
Lq = {0.00019, ‘H’}; % Stator q-axis inductance, Lq
Rs = {0.013, ‘Ohm’}; % Stator resistance per phase, Rs
end
parameters (Access=protected)
shift_3ph = { [0,-2*pi/3,2*pi/3], ‘rad’ };
end
nodes
L1 = foundation.electrical.electrical; % L1:left
L2 = foundation.electrical.electrical; % L2:left
L3 = foundation.electrical.electrical; % L3:left
R = foundation.mechanical.translational.translational; % R:right
C = foundation.mechanical.translational.translational; % C:right
end
variables
% Mechanical
translational_position = {0, ‘m’}; % Rotor angle
% Stator currents
i_d = {0, ‘A’}; % d-axis current
i_q = {0, ‘A’}; % q-axis current
end
variables (Access=protected)
% Mechanical
force = {0, ‘N’ }; % Mechanical torque
% Stator currents
i1 = { 0 , ‘A’ }; % Phase currents
i2 = { 0 , ‘A’ }; % Phase currents
i3 = { 0 , ‘A’ }; % Phase currents
end
branches
i1 : L1.i -> *;
i2 : L2.i -> *;
i3 : L3.i -> *;
force : R.f -> C.f;
end
equations
let
translational_velocity = R.v – C.v;
electrical_angle = nPolePairs*translational_position*2*pi/t_p;
% Set up Park’s transform
abc2dq = 2/3*[…
cos( electrical_angle + shift_3ph );…
-sin( electrical_angle + shift_3ph )];
% Voltages a,b,c -> d,q
U = [L1.v L2.v L3.v];
vdq = abc2dq*U’;
vd = vdq(1);
vq = vdq(2);
% Flux linkages
psi_d = i_d*Ld + pm_flux_linkage;
psi_q = i_q*Lq;
I = [i1 i2 i3];
in
% Electric to mechanical rotation
translational_velocity == translational_position.der;
% Electrical equations
vd == i_d*Rs + i_d.der*Ld – nPolePairs*translational_velocity*2*pi/t_p*psi_q;
vq == i_q*Rs + i_q.der*Lq + nPolePairs*translational_velocity*2*pi/t_p*psi_d;
[ i_d; i_q ] == abc2dq*I’;
I(1)+I(2)+I(3) == 0;
% Mechanical force
force == -3/2*nPolePairs/2/t_p*(i_q*psi_d – i_d*psi_q);
end
end
The error message I receive says
<</matlabcentral/answers/uploaded_files/31707/error_msg.jpg>>
My guess is, that the error is related to the domain change from rotational to translational, but due to limited knowledge to simscape I don’t know how to solve this. Does anyone have an advice for me?
Thank you,
TobiasHello,
based on the examples in the ThreePhaseExamples_lib provided by mathworks, I wanted to customize the model for a linear induction motor. So far I’ve changed the library code to
component lim_custom
% Linear induction motor
%
parameters
nPolePairs = {1, ‘1’}; % Number of pole pairs
t_p = {0.05, ‘m’}; % pole pitch
pm_flux_linkage = {0.03, ‘Wb’}; % Permanent magnet flux linkage
stator_param = {1,’1′}; % Stator parameterization
Ld = {0.00025, ‘H’}; % Stator d-axis inductance, Ld
Lq = {0.00019, ‘H’}; % Stator q-axis inductance, Lq
Rs = {0.013, ‘Ohm’}; % Stator resistance per phase, Rs
end
parameters (Access=protected)
shift_3ph = { [0,-2*pi/3,2*pi/3], ‘rad’ };
end
nodes
L1 = foundation.electrical.electrical; % L1:left
L2 = foundation.electrical.electrical; % L2:left
L3 = foundation.electrical.electrical; % L3:left
R = foundation.mechanical.translational.translational; % R:right
C = foundation.mechanical.translational.translational; % C:right
end
variables
% Mechanical
translational_position = {0, ‘m’}; % Rotor angle
% Stator currents
i_d = {0, ‘A’}; % d-axis current
i_q = {0, ‘A’}; % q-axis current
end
variables (Access=protected)
% Mechanical
force = {0, ‘N’ }; % Mechanical torque
% Stator currents
i1 = { 0 , ‘A’ }; % Phase currents
i2 = { 0 , ‘A’ }; % Phase currents
i3 = { 0 , ‘A’ }; % Phase currents
end
branches
i1 : L1.i -> *;
i2 : L2.i -> *;
i3 : L3.i -> *;
force : R.f -> C.f;
end
equations
let
translational_velocity = R.v – C.v;
electrical_angle = nPolePairs*translational_position*2*pi/t_p;
% Set up Park’s transform
abc2dq = 2/3*[…
cos( electrical_angle + shift_3ph );…
-sin( electrical_angle + shift_3ph )];
% Voltages a,b,c -> d,q
U = [L1.v L2.v L3.v];
vdq = abc2dq*U’;
vd = vdq(1);
vq = vdq(2);
% Flux linkages
psi_d = i_d*Ld + pm_flux_linkage;
psi_q = i_q*Lq;
I = [i1 i2 i3];
in
% Electric to mechanical rotation
translational_velocity == translational_position.der;
% Electrical equations
vd == i_d*Rs + i_d.der*Ld – nPolePairs*translational_velocity*2*pi/t_p*psi_q;
vq == i_q*Rs + i_q.der*Lq + nPolePairs*translational_velocity*2*pi/t_p*psi_d;
[ i_d; i_q ] == abc2dq*I’;
I(1)+I(2)+I(3) == 0;
% Mechanical force
force == -3/2*nPolePairs/2/t_p*(i_q*psi_d – i_d*psi_q);
end
end
The error message I receive says
<</matlabcentral/answers/uploaded_files/31707/error_msg.jpg>>
My guess is, that the error is related to the domain change from rotational to translational, but due to limited knowledge to simscape I don’t know how to solve this. Does anyone have an advice for me?
Thank you,
Tobias Hello,
based on the examples in the ThreePhaseExamples_lib provided by mathworks, I wanted to customize the model for a linear induction motor. So far I’ve changed the library code to
component lim_custom
% Linear induction motor
%
parameters
nPolePairs = {1, ‘1’}; % Number of pole pairs
t_p = {0.05, ‘m’}; % pole pitch
pm_flux_linkage = {0.03, ‘Wb’}; % Permanent magnet flux linkage
stator_param = {1,’1′}; % Stator parameterization
Ld = {0.00025, ‘H’}; % Stator d-axis inductance, Ld
Lq = {0.00019, ‘H’}; % Stator q-axis inductance, Lq
Rs = {0.013, ‘Ohm’}; % Stator resistance per phase, Rs
end
parameters (Access=protected)
shift_3ph = { [0,-2*pi/3,2*pi/3], ‘rad’ };
end
nodes
L1 = foundation.electrical.electrical; % L1:left
L2 = foundation.electrical.electrical; % L2:left
L3 = foundation.electrical.electrical; % L3:left
R = foundation.mechanical.translational.translational; % R:right
C = foundation.mechanical.translational.translational; % C:right
end
variables
% Mechanical
translational_position = {0, ‘m’}; % Rotor angle
% Stator currents
i_d = {0, ‘A’}; % d-axis current
i_q = {0, ‘A’}; % q-axis current
end
variables (Access=protected)
% Mechanical
force = {0, ‘N’ }; % Mechanical torque
% Stator currents
i1 = { 0 , ‘A’ }; % Phase currents
i2 = { 0 , ‘A’ }; % Phase currents
i3 = { 0 , ‘A’ }; % Phase currents
end
branches
i1 : L1.i -> *;
i2 : L2.i -> *;
i3 : L3.i -> *;
force : R.f -> C.f;
end
equations
let
translational_velocity = R.v – C.v;
electrical_angle = nPolePairs*translational_position*2*pi/t_p;
% Set up Park’s transform
abc2dq = 2/3*[…
cos( electrical_angle + shift_3ph );…
-sin( electrical_angle + shift_3ph )];
% Voltages a,b,c -> d,q
U = [L1.v L2.v L3.v];
vdq = abc2dq*U’;
vd = vdq(1);
vq = vdq(2);
% Flux linkages
psi_d = i_d*Ld + pm_flux_linkage;
psi_q = i_q*Lq;
I = [i1 i2 i3];
in
% Electric to mechanical rotation
translational_velocity == translational_position.der;
% Electrical equations
vd == i_d*Rs + i_d.der*Ld – nPolePairs*translational_velocity*2*pi/t_p*psi_q;
vq == i_q*Rs + i_q.der*Lq + nPolePairs*translational_velocity*2*pi/t_p*psi_d;
[ i_d; i_q ] == abc2dq*I’;
I(1)+I(2)+I(3) == 0;
% Mechanical force
force == -3/2*nPolePairs/2/t_p*(i_q*psi_d – i_d*psi_q);
end
end
The error message I receive says
<</matlabcentral/answers/uploaded_files/31707/error_msg.jpg>>
My guess is, that the error is related to the domain change from rotational to translational, but due to limited knowledge to simscape I don’t know how to solve this. Does anyone have an advice for me?
Thank you,
Tobias simscape, linear induction motor, power_electronics_control, electric_motor_control MATLAB Answers — New Questions
How to save the best agent during the training of RL?
During the training of a reinforcement learning algorithm, I only want to save the agent that gets the biggest episode reward. what should I do?During the training of a reinforcement learning algorithm, I only want to save the agent that gets the biggest episode reward. what should I do? During the training of a reinforcement learning algorithm, I only want to save the agent that gets the biggest episode reward. what should I do? reinforcement learning, training MATLAB Answers — New Questions
How to create a .mat file of the following example?
I have a data in the following format: (i, j, k, val) where i, j, k are variables and val is the corresponding data at i, j, k values. I want to save the .mat file in the (i, j, k, val) format, so that my .mat files looks like:
(0, 0, 0, 1.5E-02)
(0, 0, 1, 2.5E-05)
………………………
(5, 5, 5, 4.5 E-05)
How can I create this type of .mat file? I would appreciate any help on this.
Actually these data are the octant of a 11 by 11 by 11 matrix (isotropic cubic matrix). I would like to have a full-size matrix using the symmetry property of the octant. I want to save the octant data in a .mat file so that I could iterate over the 8 possibilities to make a full size matrix.I have a data in the following format: (i, j, k, val) where i, j, k are variables and val is the corresponding data at i, j, k values. I want to save the .mat file in the (i, j, k, val) format, so that my .mat files looks like:
(0, 0, 0, 1.5E-02)
(0, 0, 1, 2.5E-05)
………………………
(5, 5, 5, 4.5 E-05)
How can I create this type of .mat file? I would appreciate any help on this.
Actually these data are the octant of a 11 by 11 by 11 matrix (isotropic cubic matrix). I would like to have a full-size matrix using the symmetry property of the octant. I want to save the octant data in a .mat file so that I could iterate over the 8 possibilities to make a full size matrix. I have a data in the following format: (i, j, k, val) where i, j, k are variables and val is the corresponding data at i, j, k values. I want to save the .mat file in the (i, j, k, val) format, so that my .mat files looks like:
(0, 0, 0, 1.5E-02)
(0, 0, 1, 2.5E-05)
………………………
(5, 5, 5, 4.5 E-05)
How can I create this type of .mat file? I would appreciate any help on this.
Actually these data are the octant of a 11 by 11 by 11 matrix (isotropic cubic matrix). I would like to have a full-size matrix using the symmetry property of the octant. I want to save the octant data in a .mat file so that I could iterate over the 8 possibilities to make a full size matrix. matrix, matfile, mat, matrix manipulation, image processing MATLAB Answers — New Questions
what is the difference between FPGA Turnkey and IP Core Generation?
In HDL Workflow advisor one could choose between different target workflows such as Generic ASICS/FPGA, FPGA Turnkey, IP Core Generation, FPGA-in-the-loop, Simulink real-time FPGA I/O. I have researched for almost half a day and I couldn’t find a clear explanation of differences between these modes. In particular, I would like to know about difference between FPGA Turnkey and IP Core Generation. It is highly appreciated if someone briefly explain this, or cite references where this topic is discussed.
Best regards,
YasharIn HDL Workflow advisor one could choose between different target workflows such as Generic ASICS/FPGA, FPGA Turnkey, IP Core Generation, FPGA-in-the-loop, Simulink real-time FPGA I/O. I have researched for almost half a day and I couldn’t find a clear explanation of differences between these modes. In particular, I would like to know about difference between FPGA Turnkey and IP Core Generation. It is highly appreciated if someone briefly explain this, or cite references where this topic is discussed.
Best regards,
Yashar In HDL Workflow advisor one could choose between different target workflows such as Generic ASICS/FPGA, FPGA Turnkey, IP Core Generation, FPGA-in-the-loop, Simulink real-time FPGA I/O. I have researched for almost half a day and I couldn’t find a clear explanation of differences between these modes. In particular, I would like to know about difference between FPGA Turnkey and IP Core Generation. It is highly appreciated if someone briefly explain this, or cite references where this topic is discussed.
Best regards,
Yashar hdl coder, hdl workflow advisor, ip core generation, fpga turnkey MATLAB Answers — New Questions
What is wrong with my timer function? (Too many input arguments?)
Hi all, amateur Matlab user here, so I apologize if this question seems silly.
I have a constantly changing variable called ‘a’, and I want to create an array called ‘asamplevalues’ that contains the value of ‘a’ sampled at 4 second intervals.
Here is the part of the script that describes and calls up the timer function:
handles.samplingtimer = timer(‘Period’, 4.0, ‘ExecutionMode’,’fixedRate’,’TasksToExecute’, 10e6);
handles.samplingtimer.TimerFcn = { @samplinga, handles };
start (handles.samplingtimer);
Here is the timer function itself:
function [asamplevalues] = samplinga(a)
if isempty(asamplevalues) == 1
asamplevalues = [100];
else asamplevalues = [asamplevalues, a];
end
end
When the program gets to the timer function I get this error message:
??? Error while evaluating TimerFcn for timer ‘timer-3’
Too many input arguments.
Any help or suggestions are greatly appreciated! Thanks!Hi all, amateur Matlab user here, so I apologize if this question seems silly.
I have a constantly changing variable called ‘a’, and I want to create an array called ‘asamplevalues’ that contains the value of ‘a’ sampled at 4 second intervals.
Here is the part of the script that describes and calls up the timer function:
handles.samplingtimer = timer(‘Period’, 4.0, ‘ExecutionMode’,’fixedRate’,’TasksToExecute’, 10e6);
handles.samplingtimer.TimerFcn = { @samplinga, handles };
start (handles.samplingtimer);
Here is the timer function itself:
function [asamplevalues] = samplinga(a)
if isempty(asamplevalues) == 1
asamplevalues = [100];
else asamplevalues = [asamplevalues, a];
end
end
When the program gets to the timer function I get this error message:
??? Error while evaluating TimerFcn for timer ‘timer-3’
Too many input arguments.
Any help or suggestions are greatly appreciated! Thanks! Hi all, amateur Matlab user here, so I apologize if this question seems silly.
I have a constantly changing variable called ‘a’, and I want to create an array called ‘asamplevalues’ that contains the value of ‘a’ sampled at 4 second intervals.
Here is the part of the script that describes and calls up the timer function:
handles.samplingtimer = timer(‘Period’, 4.0, ‘ExecutionMode’,’fixedRate’,’TasksToExecute’, 10e6);
handles.samplingtimer.TimerFcn = { @samplinga, handles };
start (handles.samplingtimer);
Here is the timer function itself:
function [asamplevalues] = samplinga(a)
if isempty(asamplevalues) == 1
asamplevalues = [100];
else asamplevalues = [asamplevalues, a];
end
end
When the program gets to the timer function I get this error message:
??? Error while evaluating TimerFcn for timer ‘timer-3’
Too many input arguments.
Any help or suggestions are greatly appreciated! Thanks! sampling, timer, too many input arguments MATLAB Answers — New Questions
Help doing array to display values on map
Hi I am trying to do an array that will calculate the mean value of the high composite minus the low composite divided by two. After that I am trying to do a t-test of each observation to be able to display it in a map. I started my array like this but matlab is giving me multiple error messages. My dataset is x=141,y=71 and t=38. I have to make this array work for the 38 years. the average of my high composite is 1.69 and the low -1.29 .Any help will be appreciated.
rain(141,71,38);
for j1=71
for i1=141
zm1=(i,j)=precip(i,j,1;);
end
endHi I am trying to do an array that will calculate the mean value of the high composite minus the low composite divided by two. After that I am trying to do a t-test of each observation to be able to display it in a map. I started my array like this but matlab is giving me multiple error messages. My dataset is x=141,y=71 and t=38. I have to make this array work for the 38 years. the average of my high composite is 1.69 and the low -1.29 .Any help will be appreciated.
rain(141,71,38);
for j1=71
for i1=141
zm1=(i,j)=precip(i,j,1;);
end
end Hi I am trying to do an array that will calculate the mean value of the high composite minus the low composite divided by two. After that I am trying to do a t-test of each observation to be able to display it in a map. I started my array like this but matlab is giving me multiple error messages. My dataset is x=141,y=71 and t=38. I have to make this array work for the 38 years. the average of my high composite is 1.69 and the low -1.29 .Any help will be appreciated.
rain(141,71,38);
for j1=71
for i1=141
zm1=(i,j)=precip(i,j,1;);
end
end matrix, array, map MATLAB Answers — New Questions
Plotting and OpenGL error on Linux. How to resolve?
Hi I am unable to plot with Matlab. I have been getting this message:
MATLAB has experienced a low-level graphics error, and may not have drawn correctly.
Read about what you can do to prevent this issue at Resolving Low-Level Graphics Issues then restart MATLAB.
When I followed the instructions to resolve this issue, I got this message:
Error using opengl
Switching to software OpenGL rendering at runtime on unix is not supported.
I am running debian wheezy on a lenovo T440s. Please let me know what I can do to resolve this issue.Hi I am unable to plot with Matlab. I have been getting this message:
MATLAB has experienced a low-level graphics error, and may not have drawn correctly.
Read about what you can do to prevent this issue at Resolving Low-Level Graphics Issues then restart MATLAB.
When I followed the instructions to resolve this issue, I got this message:
Error using opengl
Switching to software OpenGL rendering at runtime on unix is not supported.
I am running debian wheezy on a lenovo T440s. Please let me know what I can do to resolve this issue. Hi I am unable to plot with Matlab. I have been getting this message:
MATLAB has experienced a low-level graphics error, and may not have drawn correctly.
Read about what you can do to prevent this issue at Resolving Low-Level Graphics Issues then restart MATLAB.
When I followed the instructions to resolve this issue, I got this message:
Error using opengl
Switching to software OpenGL rendering at runtime on unix is not supported.
I am running debian wheezy on a lenovo T440s. Please let me know what I can do to resolve this issue. opengl, plotting, linux, graphics MATLAB Answers — New Questions
When Open GUI, I counter an error
“`
java.lang.ExceptionInInitializerError
at com.mathworks.mde.cmdwin.CmdWin.<init>(CmdWin.java:111)
at com.mathworks.mde.cmdwin.CmdWin.<clinit>(CmdWin.java:107)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.mathworks.jmi.ClassLoaderManager.loadClass(ClassLoaderManager.java:442)
at com.mathworks.jmi.ClassLoaderManager.findClass(ClassLoaderManager.java:422)
at com.mathworks.jmi.Matlab$2.findClass(Matlab.java:518)
at com.mathworks.util.ClassLoaderBridge.findClass(ClassLoaderBridge.java:23)
at com.mathworks.widgets.desk.DTClient.createComponent(DTClient.java:275)
at com.mathworks.widgets.desk.Desktop.createClientComponent(Desktop.java:6482)
at com.mathworks.mde.desk.MLDesktop.createClientComponent(MLDesktop.java:1070)
at com.mathworks.widgets.desk.Desktop.createClientComponentWrapper(Desktop.java:6496)
at com.mathworks.widgets.desk.Desktop.setClientShowing(Desktop.java:7195)
at com.mathworks.widgets.desk.Desktop.setClientShowing(Desktop.java:7182)
at com.mathworks.widgets.desk.DTNestingContainer$ViewState.restore(DTNestingContainer.java:2910)
at com.mathworks.widgets.desk.DTNestingContainer$SplitState.restore(DTNestingContainer.java:2536)
at com.mathworks.widgets.desk.DTNestingContainer$SplitState.restore(DTNestingContainer.java:2537)
at com.mathworks.widgets.desk.DTNestingContainer$RootState.restore(DTNestingContainer.java:2422)
at com.mathworks.widgets.desk.DTNestingContainer$RootState.restore(DTNestingContainer.java:2417)
at com.mathworks.widgets.desk.DTNestingContainer.restoreState(DTNestingContainer.java:2291)
at com.mathworks.widgets.desk.DTMultipleClientFrame.restoreState(DTMultipleClientFrame.java:2791)
at com.mathworks.widgets.desk.Desktop.restoreLayout(Desktop.java:5961)
at com.mathworks.mde.desk.MLDesktop.restoreLayout(MLDesktop.java:1698)
at com.mathworks.widgets.desk.Desktop.restoreLayout(Desktop.java:5724)
at com.mathworks.mde.desk.MLDesktop.setDefaultDesktop(MLDesktop.java:1585)
at com.mathworks.widgets.desk.Desktop.initMainFrame(Desktop.java:296)
at com.mathworks.mde.desk.MLDesktop.initMainFrameFromThread(MLDesktop.java:874)
at com.mathworks.mde.desk.MLDesktop.access$600(MLDesktop.java:227)
at com.mathworks.mde.desk.MLDesktop$Initializer.run(MLDesktop.java:1261)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.ArithmeticException: / by zero
at com.mathworks.mde.cmdwin.XCmdWndView.getPotentialRows(XCmdWndView.java:1084)
at com.mathworks.mde.cmdwin.XCmdWndView.setCWFont(XCmdWndView.java:1651)
at com.mathworks.mde.cmdwin.XCmdWndView.initPrefs(XCmdWndView.java:907)
at com.mathworks.mde.cmdwin.XCmdWndView.<init>(XCmdWndView.java:401)
at com.mathworks.mde.cmdwin.XCmdWndView.<clinit>(XCmdWndView.java:329)
… 43 more
“““
java.lang.ExceptionInInitializerError
at com.mathworks.mde.cmdwin.CmdWin.<init>(CmdWin.java:111)
at com.mathworks.mde.cmdwin.CmdWin.<clinit>(CmdWin.java:107)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.mathworks.jmi.ClassLoaderManager.loadClass(ClassLoaderManager.java:442)
at com.mathworks.jmi.ClassLoaderManager.findClass(ClassLoaderManager.java:422)
at com.mathworks.jmi.Matlab$2.findClass(Matlab.java:518)
at com.mathworks.util.ClassLoaderBridge.findClass(ClassLoaderBridge.java:23)
at com.mathworks.widgets.desk.DTClient.createComponent(DTClient.java:275)
at com.mathworks.widgets.desk.Desktop.createClientComponent(Desktop.java:6482)
at com.mathworks.mde.desk.MLDesktop.createClientComponent(MLDesktop.java:1070)
at com.mathworks.widgets.desk.Desktop.createClientComponentWrapper(Desktop.java:6496)
at com.mathworks.widgets.desk.Desktop.setClientShowing(Desktop.java:7195)
at com.mathworks.widgets.desk.Desktop.setClientShowing(Desktop.java:7182)
at com.mathworks.widgets.desk.DTNestingContainer$ViewState.restore(DTNestingContainer.java:2910)
at com.mathworks.widgets.desk.DTNestingContainer$SplitState.restore(DTNestingContainer.java:2536)
at com.mathworks.widgets.desk.DTNestingContainer$SplitState.restore(DTNestingContainer.java:2537)
at com.mathworks.widgets.desk.DTNestingContainer$RootState.restore(DTNestingContainer.java:2422)
at com.mathworks.widgets.desk.DTNestingContainer$RootState.restore(DTNestingContainer.java:2417)
at com.mathworks.widgets.desk.DTNestingContainer.restoreState(DTNestingContainer.java:2291)
at com.mathworks.widgets.desk.DTMultipleClientFrame.restoreState(DTMultipleClientFrame.java:2791)
at com.mathworks.widgets.desk.Desktop.restoreLayout(Desktop.java:5961)
at com.mathworks.mde.desk.MLDesktop.restoreLayout(MLDesktop.java:1698)
at com.mathworks.widgets.desk.Desktop.restoreLayout(Desktop.java:5724)
at com.mathworks.mde.desk.MLDesktop.setDefaultDesktop(MLDesktop.java:1585)
at com.mathworks.widgets.desk.Desktop.initMainFrame(Desktop.java:296)
at com.mathworks.mde.desk.MLDesktop.initMainFrameFromThread(MLDesktop.java:874)
at com.mathworks.mde.desk.MLDesktop.access$600(MLDesktop.java:227)
at com.mathworks.mde.desk.MLDesktop$Initializer.run(MLDesktop.java:1261)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.ArithmeticException: / by zero
at com.mathworks.mde.cmdwin.XCmdWndView.getPotentialRows(XCmdWndView.java:1084)
at com.mathworks.mde.cmdwin.XCmdWndView.setCWFont(XCmdWndView.java:1651)
at com.mathworks.mde.cmdwin.XCmdWndView.initPrefs(XCmdWndView.java:907)
at com.mathworks.mde.cmdwin.XCmdWndView.<init>(XCmdWndView.java:401)
at com.mathworks.mde.cmdwin.XCmdWndView.<clinit>(XCmdWndView.java:329)
… 43 more
“` “`
java.lang.ExceptionInInitializerError
at com.mathworks.mde.cmdwin.CmdWin.<init>(CmdWin.java:111)
at com.mathworks.mde.cmdwin.CmdWin.<clinit>(CmdWin.java:107)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.mathworks.jmi.ClassLoaderManager.loadClass(ClassLoaderManager.java:442)
at com.mathworks.jmi.ClassLoaderManager.findClass(ClassLoaderManager.java:422)
at com.mathworks.jmi.Matlab$2.findClass(Matlab.java:518)
at com.mathworks.util.ClassLoaderBridge.findClass(ClassLoaderBridge.java:23)
at com.mathworks.widgets.desk.DTClient.createComponent(DTClient.java:275)
at com.mathworks.widgets.desk.Desktop.createClientComponent(Desktop.java:6482)
at com.mathworks.mde.desk.MLDesktop.createClientComponent(MLDesktop.java:1070)
at com.mathworks.widgets.desk.Desktop.createClientComponentWrapper(Desktop.java:6496)
at com.mathworks.widgets.desk.Desktop.setClientShowing(Desktop.java:7195)
at com.mathworks.widgets.desk.Desktop.setClientShowing(Desktop.java:7182)
at com.mathworks.widgets.desk.DTNestingContainer$ViewState.restore(DTNestingContainer.java:2910)
at com.mathworks.widgets.desk.DTNestingContainer$SplitState.restore(DTNestingContainer.java:2536)
at com.mathworks.widgets.desk.DTNestingContainer$SplitState.restore(DTNestingContainer.java:2537)
at com.mathworks.widgets.desk.DTNestingContainer$RootState.restore(DTNestingContainer.java:2422)
at com.mathworks.widgets.desk.DTNestingContainer$RootState.restore(DTNestingContainer.java:2417)
at com.mathworks.widgets.desk.DTNestingContainer.restoreState(DTNestingContainer.java:2291)
at com.mathworks.widgets.desk.DTMultipleClientFrame.restoreState(DTMultipleClientFrame.java:2791)
at com.mathworks.widgets.desk.Desktop.restoreLayout(Desktop.java:5961)
at com.mathworks.mde.desk.MLDesktop.restoreLayout(MLDesktop.java:1698)
at com.mathworks.widgets.desk.Desktop.restoreLayout(Desktop.java:5724)
at com.mathworks.mde.desk.MLDesktop.setDefaultDesktop(MLDesktop.java:1585)
at com.mathworks.widgets.desk.Desktop.initMainFrame(Desktop.java:296)
at com.mathworks.mde.desk.MLDesktop.initMainFrameFromThread(MLDesktop.java:874)
at com.mathworks.mde.desk.MLDesktop.access$600(MLDesktop.java:227)
at com.mathworks.mde.desk.MLDesktop$Initializer.run(MLDesktop.java:1261)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.ArithmeticException: / by zero
at com.mathworks.mde.cmdwin.XCmdWndView.getPotentialRows(XCmdWndView.java:1084)
at com.mathworks.mde.cmdwin.XCmdWndView.setCWFont(XCmdWndView.java:1651)
at com.mathworks.mde.cmdwin.XCmdWndView.initPrefs(XCmdWndView.java:907)
at com.mathworks.mde.cmdwin.XCmdWndView.<init>(XCmdWndView.java:401)
at com.mathworks.mde.cmdwin.XCmdWndView.<clinit>(XCmdWndView.java:329)
… 43 more
“` matlab gui MATLAB Answers — New Questions
trackOSPAMetric for my data
Hello. I want to use trackOSPAMetric to evaluate tracking result with artificial data. but it does not match my data. I attached the code and the error. any ideas? thank you very much for your time and attention.
clc; clear; close;
% 2DPF+3DOSPA
% Parameters
num_trajectories = 4;
num_paths = 2;
points_per_trajectory = 100;
num_clusters = 60;
% Define base paths as nearly horizontal lines
base_paths = { [linspace(0, 10, points_per_trajectory)’, 2 * ones(points_per_trajectory, 1)];
[linspace(0, 10, points_per_trajectory)’, 4 * ones(points_per_trajectory, 1)];
[linspace(0, 10, points_per_trajectory)’, 6 * ones(points_per_trajectory, 1)];
[linspace(0, 10, points_per_trajectory)’, 8 * ones(points_per_trajectory, 1)] };
% Initialize trajectories
trajectories = cell(1, num_trajectories);
% Generate trajectories with random deviations from base paths
for ii = 1:num_trajectories
path = base_paths{mod(ii, num_paths) + 1};
deviation = [0.01 * randn(points_per_trajectory, 1), …
0.01 * randn(points_per_trajectory, 1)];
trajectories{ii} = path + deviation;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Select trajectory for tracking
selected_traj = trajectories{1};
numParticles = 1000;
stateDimension = 4;
init_state = [selected_traj(1, 1); 0;…
selected_traj(1, 2); 0];
pf = trackingPF(@constvel, @cvmeas, init_state, …
‘StateCovariance’, 0.5 * eye(stateDimension), …
‘NumParticles’, numParticles, …
‘HasAdditiveProcessNoise’, true);
% Particle filter tracking
estimated_positions_pf = …
zeros(size(selected_traj, 1), stateDimension);
pf_tot = cell(size(selected_traj, 1),1);
estimated_positions_pf(1, 🙂 = init_state’;
pf_no_km = clone(pf);
for t = 2:size(selected_traj, 1)
[xPred_pf, PPred_pf] = predict(pf_no_km, 1);
observation = …
[selected_traj(t, 1); selected_traj(t, 2); 0];
[xCorr_km, Pcorr_km] = correct(pf, observation);
[xCorr_pf, Pcorr_pf] = correct(pf_no_km, observation);
estimated_positions_pf(t, 🙂 = xCorr_pf;
pf_tot{t} = Pcorr_pf;
end
% Plot tracking results
figure (101);
plot(selected_traj(:, 1), selected_traj(:, 2), ‘g’, …
‘DisplayName’, ‘True Trajectory’);
hold on;
plot(estimated_positions_pf(:, 1), …
estimated_positions_pf(:, 3), ‘bo-.’, …
‘DisplayName’, ‘Estimated (No KM)’);
title(‘Tracking Map’);
legend;
xlabel(‘X’);
ylabel(‘Y’);
hold off;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% OSPA metric computation
truths_mine = …
[selected_traj zeros(size(selected_traj,1),1)];
%%
% Construct the truth and tracks structs
num_timesteps = size(selected_traj, 1);
truths_cell = cell(1,num_timesteps);
tracks_PF_cell = cell(1,num_timesteps);
% Compute velocities for truth data
velocities_truth = diff(truths_mine); % Approximate velocity (forward difference)
velocities_truth = [0 0 0;velocities_truth];
for t = 1:num_timesteps
% Truth struct
truth_struct = struct();
truth_struct.PlatformID = 1;
truth_struct.Time = t; % Time step
truth_struct.Position = …
[selected_traj(t, 1); selected_traj(t, 2);0]’; % Position [x; y]
% if t < num_timesteps
truth_struct.Velocity = velocities_truth(t, :); % Velocity [vx; vy]
truths_cell{t} = truth_struct;
% Tracks struct
tracks_struct_PF = struct();
tracks_struct_PF.UpdateTime = t; % Time step
tracks_struct_PF.State = …
[estimated_positions_pf(t, :),0,0]’;%; estimated_positions_pf(t, 3);0]; % Estimated position [x; y]
tracks_struct_PF.TrackID = 1;
if t==1
tracks_struct_PF.StateCovariance = [1 0 0 0 0 0; 0 1 0 0 0 0; 0 0 1 0 0 0; 0 0 0 1 0 0; 0 0 0 0 0 0 ; 0 0 0 0 0 0 ];
else
pf_cov = [pf_tot{t};zeros(2,4)];
pf_cov2 = [pf_cov, zeros(6,2)];
tracks_struct_KM.StateCovariance = pf_cov2;
end
tracks_PF_cell{t} = tracks_struct_PF;
end
%%
tom = trackOSPAMetric;
ospa = zeros(numel(tracks_PF_cell),1);
cardOspa = zeros(numel(tracks_PF_cell),1);
locOspa = zeros(numel(tracks_PF_cell),1);
for ik = 1:numel(tracks_PF_cell)
ik
tracks_mi = tracks_PF_cell{ik}
truths_mi = truths_cell{ik}
[ospa(ik), locOspa(ik), cardOspa(ik)] = tom(tracks_mi, truths_mi);
end
%%
% Compute square error between truth and track locations
error_pf = (selected_traj(:, 1) – estimated_positions_pf(:, 1)).^2 + …
(selected_traj(:, 2) – estimated_positions_pf(:, 3)).^2;
Here is the error:
Error using assignjv
Expected COSTMATRIX to be non-NaN.
Error in fusion.internal.assignment.lapCheckCostMatrix (line 10)
validateattributes(costMatrix, {‘single’,’double’}, …
Error in assignjv (line 110)
fusion.internal.assignment.lapCheckCostMatrix(costMatrix, mfilename);
Error in fusion.internal.metrics.OSPABase/stepImpl (line 219)
optimalAssignment = assignjv(dMatrix, 2*cN);
Error in trackOSPAMetric/stepImpl (line 305)
[locOspa, cardOspa, optimalAssignment] = stepImpl@fusion.internal.metrics.OSPABase(obj, tracks, truths);
Error in OnlyPF (line 139)
[ospa(ik), locOspa(ik), cardOspa(ik)] = tom(tracks_mi, truths_mi);
>>Hello. I want to use trackOSPAMetric to evaluate tracking result with artificial data. but it does not match my data. I attached the code and the error. any ideas? thank you very much for your time and attention.
clc; clear; close;
% 2DPF+3DOSPA
% Parameters
num_trajectories = 4;
num_paths = 2;
points_per_trajectory = 100;
num_clusters = 60;
% Define base paths as nearly horizontal lines
base_paths = { [linspace(0, 10, points_per_trajectory)’, 2 * ones(points_per_trajectory, 1)];
[linspace(0, 10, points_per_trajectory)’, 4 * ones(points_per_trajectory, 1)];
[linspace(0, 10, points_per_trajectory)’, 6 * ones(points_per_trajectory, 1)];
[linspace(0, 10, points_per_trajectory)’, 8 * ones(points_per_trajectory, 1)] };
% Initialize trajectories
trajectories = cell(1, num_trajectories);
% Generate trajectories with random deviations from base paths
for ii = 1:num_trajectories
path = base_paths{mod(ii, num_paths) + 1};
deviation = [0.01 * randn(points_per_trajectory, 1), …
0.01 * randn(points_per_trajectory, 1)];
trajectories{ii} = path + deviation;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Select trajectory for tracking
selected_traj = trajectories{1};
numParticles = 1000;
stateDimension = 4;
init_state = [selected_traj(1, 1); 0;…
selected_traj(1, 2); 0];
pf = trackingPF(@constvel, @cvmeas, init_state, …
‘StateCovariance’, 0.5 * eye(stateDimension), …
‘NumParticles’, numParticles, …
‘HasAdditiveProcessNoise’, true);
% Particle filter tracking
estimated_positions_pf = …
zeros(size(selected_traj, 1), stateDimension);
pf_tot = cell(size(selected_traj, 1),1);
estimated_positions_pf(1, 🙂 = init_state’;
pf_no_km = clone(pf);
for t = 2:size(selected_traj, 1)
[xPred_pf, PPred_pf] = predict(pf_no_km, 1);
observation = …
[selected_traj(t, 1); selected_traj(t, 2); 0];
[xCorr_km, Pcorr_km] = correct(pf, observation);
[xCorr_pf, Pcorr_pf] = correct(pf_no_km, observation);
estimated_positions_pf(t, 🙂 = xCorr_pf;
pf_tot{t} = Pcorr_pf;
end
% Plot tracking results
figure (101);
plot(selected_traj(:, 1), selected_traj(:, 2), ‘g’, …
‘DisplayName’, ‘True Trajectory’);
hold on;
plot(estimated_positions_pf(:, 1), …
estimated_positions_pf(:, 3), ‘bo-.’, …
‘DisplayName’, ‘Estimated (No KM)’);
title(‘Tracking Map’);
legend;
xlabel(‘X’);
ylabel(‘Y’);
hold off;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% OSPA metric computation
truths_mine = …
[selected_traj zeros(size(selected_traj,1),1)];
%%
% Construct the truth and tracks structs
num_timesteps = size(selected_traj, 1);
truths_cell = cell(1,num_timesteps);
tracks_PF_cell = cell(1,num_timesteps);
% Compute velocities for truth data
velocities_truth = diff(truths_mine); % Approximate velocity (forward difference)
velocities_truth = [0 0 0;velocities_truth];
for t = 1:num_timesteps
% Truth struct
truth_struct = struct();
truth_struct.PlatformID = 1;
truth_struct.Time = t; % Time step
truth_struct.Position = …
[selected_traj(t, 1); selected_traj(t, 2);0]’; % Position [x; y]
% if t < num_timesteps
truth_struct.Velocity = velocities_truth(t, :); % Velocity [vx; vy]
truths_cell{t} = truth_struct;
% Tracks struct
tracks_struct_PF = struct();
tracks_struct_PF.UpdateTime = t; % Time step
tracks_struct_PF.State = …
[estimated_positions_pf(t, :),0,0]’;%; estimated_positions_pf(t, 3);0]; % Estimated position [x; y]
tracks_struct_PF.TrackID = 1;
if t==1
tracks_struct_PF.StateCovariance = [1 0 0 0 0 0; 0 1 0 0 0 0; 0 0 1 0 0 0; 0 0 0 1 0 0; 0 0 0 0 0 0 ; 0 0 0 0 0 0 ];
else
pf_cov = [pf_tot{t};zeros(2,4)];
pf_cov2 = [pf_cov, zeros(6,2)];
tracks_struct_KM.StateCovariance = pf_cov2;
end
tracks_PF_cell{t} = tracks_struct_PF;
end
%%
tom = trackOSPAMetric;
ospa = zeros(numel(tracks_PF_cell),1);
cardOspa = zeros(numel(tracks_PF_cell),1);
locOspa = zeros(numel(tracks_PF_cell),1);
for ik = 1:numel(tracks_PF_cell)
ik
tracks_mi = tracks_PF_cell{ik}
truths_mi = truths_cell{ik}
[ospa(ik), locOspa(ik), cardOspa(ik)] = tom(tracks_mi, truths_mi);
end
%%
% Compute square error between truth and track locations
error_pf = (selected_traj(:, 1) – estimated_positions_pf(:, 1)).^2 + …
(selected_traj(:, 2) – estimated_positions_pf(:, 3)).^2;
Here is the error:
Error using assignjv
Expected COSTMATRIX to be non-NaN.
Error in fusion.internal.assignment.lapCheckCostMatrix (line 10)
validateattributes(costMatrix, {‘single’,’double’}, …
Error in assignjv (line 110)
fusion.internal.assignment.lapCheckCostMatrix(costMatrix, mfilename);
Error in fusion.internal.metrics.OSPABase/stepImpl (line 219)
optimalAssignment = assignjv(dMatrix, 2*cN);
Error in trackOSPAMetric/stepImpl (line 305)
[locOspa, cardOspa, optimalAssignment] = stepImpl@fusion.internal.metrics.OSPABase(obj, tracks, truths);
Error in OnlyPF (line 139)
[ospa(ik), locOspa(ik), cardOspa(ik)] = tom(tracks_mi, truths_mi);
>> Hello. I want to use trackOSPAMetric to evaluate tracking result with artificial data. but it does not match my data. I attached the code and the error. any ideas? thank you very much for your time and attention.
clc; clear; close;
% 2DPF+3DOSPA
% Parameters
num_trajectories = 4;
num_paths = 2;
points_per_trajectory = 100;
num_clusters = 60;
% Define base paths as nearly horizontal lines
base_paths = { [linspace(0, 10, points_per_trajectory)’, 2 * ones(points_per_trajectory, 1)];
[linspace(0, 10, points_per_trajectory)’, 4 * ones(points_per_trajectory, 1)];
[linspace(0, 10, points_per_trajectory)’, 6 * ones(points_per_trajectory, 1)];
[linspace(0, 10, points_per_trajectory)’, 8 * ones(points_per_trajectory, 1)] };
% Initialize trajectories
trajectories = cell(1, num_trajectories);
% Generate trajectories with random deviations from base paths
for ii = 1:num_trajectories
path = base_paths{mod(ii, num_paths) + 1};
deviation = [0.01 * randn(points_per_trajectory, 1), …
0.01 * randn(points_per_trajectory, 1)];
trajectories{ii} = path + deviation;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Select trajectory for tracking
selected_traj = trajectories{1};
numParticles = 1000;
stateDimension = 4;
init_state = [selected_traj(1, 1); 0;…
selected_traj(1, 2); 0];
pf = trackingPF(@constvel, @cvmeas, init_state, …
‘StateCovariance’, 0.5 * eye(stateDimension), …
‘NumParticles’, numParticles, …
‘HasAdditiveProcessNoise’, true);
% Particle filter tracking
estimated_positions_pf = …
zeros(size(selected_traj, 1), stateDimension);
pf_tot = cell(size(selected_traj, 1),1);
estimated_positions_pf(1, 🙂 = init_state’;
pf_no_km = clone(pf);
for t = 2:size(selected_traj, 1)
[xPred_pf, PPred_pf] = predict(pf_no_km, 1);
observation = …
[selected_traj(t, 1); selected_traj(t, 2); 0];
[xCorr_km, Pcorr_km] = correct(pf, observation);
[xCorr_pf, Pcorr_pf] = correct(pf_no_km, observation);
estimated_positions_pf(t, 🙂 = xCorr_pf;
pf_tot{t} = Pcorr_pf;
end
% Plot tracking results
figure (101);
plot(selected_traj(:, 1), selected_traj(:, 2), ‘g’, …
‘DisplayName’, ‘True Trajectory’);
hold on;
plot(estimated_positions_pf(:, 1), …
estimated_positions_pf(:, 3), ‘bo-.’, …
‘DisplayName’, ‘Estimated (No KM)’);
title(‘Tracking Map’);
legend;
xlabel(‘X’);
ylabel(‘Y’);
hold off;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% OSPA metric computation
truths_mine = …
[selected_traj zeros(size(selected_traj,1),1)];
%%
% Construct the truth and tracks structs
num_timesteps = size(selected_traj, 1);
truths_cell = cell(1,num_timesteps);
tracks_PF_cell = cell(1,num_timesteps);
% Compute velocities for truth data
velocities_truth = diff(truths_mine); % Approximate velocity (forward difference)
velocities_truth = [0 0 0;velocities_truth];
for t = 1:num_timesteps
% Truth struct
truth_struct = struct();
truth_struct.PlatformID = 1;
truth_struct.Time = t; % Time step
truth_struct.Position = …
[selected_traj(t, 1); selected_traj(t, 2);0]’; % Position [x; y]
% if t < num_timesteps
truth_struct.Velocity = velocities_truth(t, :); % Velocity [vx; vy]
truths_cell{t} = truth_struct;
% Tracks struct
tracks_struct_PF = struct();
tracks_struct_PF.UpdateTime = t; % Time step
tracks_struct_PF.State = …
[estimated_positions_pf(t, :),0,0]’;%; estimated_positions_pf(t, 3);0]; % Estimated position [x; y]
tracks_struct_PF.TrackID = 1;
if t==1
tracks_struct_PF.StateCovariance = [1 0 0 0 0 0; 0 1 0 0 0 0; 0 0 1 0 0 0; 0 0 0 1 0 0; 0 0 0 0 0 0 ; 0 0 0 0 0 0 ];
else
pf_cov = [pf_tot{t};zeros(2,4)];
pf_cov2 = [pf_cov, zeros(6,2)];
tracks_struct_KM.StateCovariance = pf_cov2;
end
tracks_PF_cell{t} = tracks_struct_PF;
end
%%
tom = trackOSPAMetric;
ospa = zeros(numel(tracks_PF_cell),1);
cardOspa = zeros(numel(tracks_PF_cell),1);
locOspa = zeros(numel(tracks_PF_cell),1);
for ik = 1:numel(tracks_PF_cell)
ik
tracks_mi = tracks_PF_cell{ik}
truths_mi = truths_cell{ik}
[ospa(ik), locOspa(ik), cardOspa(ik)] = tom(tracks_mi, truths_mi);
end
%%
% Compute square error between truth and track locations
error_pf = (selected_traj(:, 1) – estimated_positions_pf(:, 1)).^2 + …
(selected_traj(:, 2) – estimated_positions_pf(:, 3)).^2;
Here is the error:
Error using assignjv
Expected COSTMATRIX to be non-NaN.
Error in fusion.internal.assignment.lapCheckCostMatrix (line 10)
validateattributes(costMatrix, {‘single’,’double’}, …
Error in assignjv (line 110)
fusion.internal.assignment.lapCheckCostMatrix(costMatrix, mfilename);
Error in fusion.internal.metrics.OSPABase/stepImpl (line 219)
optimalAssignment = assignjv(dMatrix, 2*cN);
Error in trackOSPAMetric/stepImpl (line 305)
[locOspa, cardOspa, optimalAssignment] = stepImpl@fusion.internal.metrics.OSPABase(obj, tracks, truths);
Error in OnlyPF (line 139)
[ospa(ik), locOspa(ik), cardOspa(ik)] = tom(tracks_mi, truths_mi);
>> ospa, tracking, particle filter, sensor fusion and tracking toolbox MATLAB Answers — New Questions
Exception in thread “IPC Process Thread
I am using MATLAB R2019b with windows 10 Enterprise 20H2 OS build 19042.1586.
Everytime I tried to edit a plot (2D or 3D), MATLAB becomes unresponsive.
I can minimize and maximize but I even can’t close it. The command window is also unresponsive. After some time I receive the following error:
Exception in thread "IPC Process Thread": java.lang.UnsatisfiedLinkError: C:Users???????????????????AppDataLocalTempjxbrowser-chromium-43.0.2357.52.5.4.3.1dataTempjxbrowser-common64-a60ded20-f14c-4744-94df-474eb1350234.dll: Can’t find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at com.teamdev.jxbrowser.chromium.internal.LibraryLoader.loadLibrary(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.SharedMemoryLibrary.<init>(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.SharedMemoryLibrary.getInstance(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.ipc.ChromiumProcess.start(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.ipc.d.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
Exception in thread "IPC Process Thread": java.lang.UnsatisfiedLinkError: C:Users???????????????????AppDataLocalTempjxbrowser-chromium-43.0.2357.52.5.4.3.1dataTempjxbrowser-common64-4b01d43e-a593-4c5f-a88c-fe959fbb9492.dll: Can’t find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at com.teamdev.jxbrowser.chromium.internal.LibraryLoader.loadLibrary(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.SharedMemoryLibrary.<init>(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.SharedMemoryLibrary.getInstance(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.ipc.ChromiumProcess.start(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.ipc.d.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
Exception in thread "AWT-EventQueue-0": java.lang.NullPointerException
at com.mathworks.page.plottool.propertyinspectormanager.PropertyInspectorManager$2.run(PropertyInspectorManager.java:167)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)I am using MATLAB R2019b with windows 10 Enterprise 20H2 OS build 19042.1586.
Everytime I tried to edit a plot (2D or 3D), MATLAB becomes unresponsive.
I can minimize and maximize but I even can’t close it. The command window is also unresponsive. After some time I receive the following error:
Exception in thread "IPC Process Thread": java.lang.UnsatisfiedLinkError: C:Users???????????????????AppDataLocalTempjxbrowser-chromium-43.0.2357.52.5.4.3.1dataTempjxbrowser-common64-a60ded20-f14c-4744-94df-474eb1350234.dll: Can’t find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at com.teamdev.jxbrowser.chromium.internal.LibraryLoader.loadLibrary(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.SharedMemoryLibrary.<init>(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.SharedMemoryLibrary.getInstance(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.ipc.ChromiumProcess.start(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.ipc.d.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
Exception in thread "IPC Process Thread": java.lang.UnsatisfiedLinkError: C:Users???????????????????AppDataLocalTempjxbrowser-chromium-43.0.2357.52.5.4.3.1dataTempjxbrowser-common64-4b01d43e-a593-4c5f-a88c-fe959fbb9492.dll: Can’t find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at com.teamdev.jxbrowser.chromium.internal.LibraryLoader.loadLibrary(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.SharedMemoryLibrary.<init>(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.SharedMemoryLibrary.getInstance(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.ipc.ChromiumProcess.start(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.ipc.d.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
Exception in thread "AWT-EventQueue-0": java.lang.NullPointerException
at com.mathworks.page.plottool.propertyinspectormanager.PropertyInspectorManager$2.run(PropertyInspectorManager.java:167)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) I am using MATLAB R2019b with windows 10 Enterprise 20H2 OS build 19042.1586.
Everytime I tried to edit a plot (2D or 3D), MATLAB becomes unresponsive.
I can minimize and maximize but I even can’t close it. The command window is also unresponsive. After some time I receive the following error:
Exception in thread "IPC Process Thread": java.lang.UnsatisfiedLinkError: C:Users???????????????????AppDataLocalTempjxbrowser-chromium-43.0.2357.52.5.4.3.1dataTempjxbrowser-common64-a60ded20-f14c-4744-94df-474eb1350234.dll: Can’t find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at com.teamdev.jxbrowser.chromium.internal.LibraryLoader.loadLibrary(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.SharedMemoryLibrary.<init>(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.SharedMemoryLibrary.getInstance(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.ipc.ChromiumProcess.start(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.ipc.d.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
Exception in thread "IPC Process Thread": java.lang.UnsatisfiedLinkError: C:Users???????????????????AppDataLocalTempjxbrowser-chromium-43.0.2357.52.5.4.3.1dataTempjxbrowser-common64-4b01d43e-a593-4c5f-a88c-fe959fbb9492.dll: Can’t find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at com.teamdev.jxbrowser.chromium.internal.LibraryLoader.loadLibrary(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.SharedMemoryLibrary.<init>(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.SharedMemoryLibrary.getInstance(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.ipc.ChromiumProcess.start(Unknown Source)
at com.teamdev.jxbrowser.chromium.internal.ipc.d.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
Exception in thread "AWT-EventQueue-0": java.lang.NullPointerException
at com.mathworks.page.plottool.propertyinspectormanager.PropertyInspectorManager$2.run(PropertyInspectorManager.java:167)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) matlab MATLAB Answers — New Questions
my question is if a=[1 2;3 4],b=[5 6;7 8],c=[9 10;11 12] the resultant matrix should be d=[1 5 9;2 6 10;3 7 11;4 8 12] this should be done using for loop?
my question is if a=[1 2;3 4],b=[5 6;7 8],c=[9 10;11 12]
the resultant matrix should be d=[1 5 9;2 6 10;3 7 11;4 8 12] this should be done using for loop?my question is if a=[1 2;3 4],b=[5 6;7 8],c=[9 10;11 12]
the resultant matrix should be d=[1 5 9;2 6 10;3 7 11;4 8 12] this should be done using for loop? my question is if a=[1 2;3 4],b=[5 6;7 8],c=[9 10;11 12]
the resultant matrix should be d=[1 5 9;2 6 10;3 7 11;4 8 12] this should be done using for loop? MATLAB Answers — New Questions
error in matlab code
I have been trying to solve an optimal problem in which a body of mass have to [be] transfered to y(tf) = 0 from its initial position y(o) = 0 such that its final velocity is zero satisfying the performance index.
, where t = [to, tf].
But I am not getting the optimal trajectories using this code. Could anyone help me to find where the mistake [is]?
clear all
c0 = [0.1; 0.1; 0.1; 0.1; 5]; % Make a starting guess at the solution
[c, fval] = fsolve (@myfun1, c0) % Call optimizer
c1 = c(1); c2 = c(2); c3 = c(3); c4 = c(4); c5 = c(5);
t=0:0.01:c5;
x1op = -(c1*(t.^3))/6-(c2*(t.^2))/2+(c3.*t)+c4
x2op =-(c1*(t.^2))/2+-(c2.*t)+c3
uop = -(c1.*t)-c2
lam1= c1;
H = 1.5 * uop.^2 + x2op.* lam1;
figure (1)
plot(t, uop)
figure(2)
plot(t,x1op,t,x2op)
figure(3)
plot(t,H)
function F = myfun1(c)
x10 = 1;
x20 = 0;
x1f = 0;
x2f = 0;
u=-(c(1)*c(5))-c(2);
ud = c(1);
% the conditions x1(t = 0), x1(t = tf), x2(t = 0), x2(t = tf)
f1 = c(4)-x10;
f2 =-(c(1)*(c(5)^3))/6 -(c(2)*(c(5)^2))/2 +(c(3)*c(5)) + 1 -x1f;
f3 = c(3)-x20;
f4 = -(c(1)*(c(5)^2))/2 -(c(2)*c(5))-x2f;
f5 = 1.5 *u.^2 -f4.*ud ;% the condition H(tf) = 0
F = [f1;f2;f3;f4;f5]; % the five unknown system F(C) = 0
endI have been trying to solve an optimal problem in which a body of mass have to [be] transfered to y(tf) = 0 from its initial position y(o) = 0 such that its final velocity is zero satisfying the performance index.
, where t = [to, tf].
But I am not getting the optimal trajectories using this code. Could anyone help me to find where the mistake [is]?
clear all
c0 = [0.1; 0.1; 0.1; 0.1; 5]; % Make a starting guess at the solution
[c, fval] = fsolve (@myfun1, c0) % Call optimizer
c1 = c(1); c2 = c(2); c3 = c(3); c4 = c(4); c5 = c(5);
t=0:0.01:c5;
x1op = -(c1*(t.^3))/6-(c2*(t.^2))/2+(c3.*t)+c4
x2op =-(c1*(t.^2))/2+-(c2.*t)+c3
uop = -(c1.*t)-c2
lam1= c1;
H = 1.5 * uop.^2 + x2op.* lam1;
figure (1)
plot(t, uop)
figure(2)
plot(t,x1op,t,x2op)
figure(3)
plot(t,H)
function F = myfun1(c)
x10 = 1;
x20 = 0;
x1f = 0;
x2f = 0;
u=-(c(1)*c(5))-c(2);
ud = c(1);
% the conditions x1(t = 0), x1(t = tf), x2(t = 0), x2(t = tf)
f1 = c(4)-x10;
f2 =-(c(1)*(c(5)^3))/6 -(c(2)*(c(5)^2))/2 +(c(3)*c(5)) + 1 -x1f;
f3 = c(3)-x20;
f4 = -(c(1)*(c(5)^2))/2 -(c(2)*c(5))-x2f;
f5 = 1.5 *u.^2 -f4.*ud ;% the condition H(tf) = 0
F = [f1;f2;f3;f4;f5]; % the five unknown system F(C) = 0
end I have been trying to solve an optimal problem in which a body of mass have to [be] transfered to y(tf) = 0 from its initial position y(o) = 0 such that its final velocity is zero satisfying the performance index.
, where t = [to, tf].
But I am not getting the optimal trajectories using this code. Could anyone help me to find where the mistake [is]?
clear all
c0 = [0.1; 0.1; 0.1; 0.1; 5]; % Make a starting guess at the solution
[c, fval] = fsolve (@myfun1, c0) % Call optimizer
c1 = c(1); c2 = c(2); c3 = c(3); c4 = c(4); c5 = c(5);
t=0:0.01:c5;
x1op = -(c1*(t.^3))/6-(c2*(t.^2))/2+(c3.*t)+c4
x2op =-(c1*(t.^2))/2+-(c2.*t)+c3
uop = -(c1.*t)-c2
lam1= c1;
H = 1.5 * uop.^2 + x2op.* lam1;
figure (1)
plot(t, uop)
figure(2)
plot(t,x1op,t,x2op)
figure(3)
plot(t,H)
function F = myfun1(c)
x10 = 1;
x20 = 0;
x1f = 0;
x2f = 0;
u=-(c(1)*c(5))-c(2);
ud = c(1);
% the conditions x1(t = 0), x1(t = tf), x2(t = 0), x2(t = tf)
f1 = c(4)-x10;
f2 =-(c(1)*(c(5)^3))/6 -(c(2)*(c(5)^2))/2 +(c(3)*c(5)) + 1 -x1f;
f3 = c(3)-x20;
f4 = -(c(1)*(c(5)^2))/2 -(c(2)*c(5))-x2f;
f5 = 1.5 *u.^2 -f4.*ud ;% the condition H(tf) = 0
F = [f1;f2;f3;f4;f5]; % the five unknown system F(C) = 0
end optimal control MATLAB Answers — New Questions
how to apply exist model configset to current model through script
i have config set that exported from other model, now i want import this configset to my new model, and set this config set active, how to realzie this through script, following pic for reference.i have config set that exported from other model, now i want import this configset to my new model, and set this config set active, how to realzie this through script, following pic for reference. i have config set that exported from other model, now i want import this configset to my new model, and set this config set active, how to realzie this through script, following pic for reference. simulink, model configset, configurations MATLAB Answers — New Questions
Can’t use.dll library on the 2020 or later versions of Matlab
I’m working with some DLL library in order to integrate a measurment instrument (a power meeter) on Matlab. I’m using the 2021 version of Matlab and I used the following code to load the DLL library: (note that the library was given to me from the company who sell me the power meeter).
clear all;
%Load the library
NET.addAssembly(‘C:Program Files (x86)Microsoft.NETPrimary Interop AssembliesThorlabs.TLPM_64.Interop.dll’);
import Thorlabs.TLPM_64.Interop.*;
%Create a dummy TLPM object to check for compatible devices.
handle = System.IntPtr(0);
device = TLPM(handle);
%Search the device
[~,deviceCount] = device.findRsrc();
When I run it, Matlab load the library but when I try to use the function "findRsrc" I get the following error:
Found on line 1324 of input from line 1065 of file C:\Program Files\IVI Foundation\VISA\Win64\Include\TLPM.h
Type ‘intViStatus__fastcall’ was not found. Defaulting to type error.
Found on line 1325 of input from line 1066 of file C:\Program Files\IVI Foundation\VISA\Win64\Include\TLPM.h
Warning no reference to header ‘C:/Program Files/IVI Foundation/VISA/Win64/Include/visa’ added with addheader was found in source.
*********
Error using loadlibrary
Building TPLM_64_thunk_pcwin64 failed. Compiler output is:
cl -I"C:Program FilesIVI FoundationVISAWin64Lib_x64msc" -I"C:Program FilesIVI FoundationVISAWin64Include" -I"C:Program
FilesMATLABR2020aexterninclude" /Zp8 /W3 /nologo -I"C:UsersinstallDesktop" -I"C:Program FilesIVI FoundationVISAWin64Include"
"TPLM_64_thunk_pcwin64.c" -LD -Fe"TPLM_64_thunk_pcwin64.dll"
TPLM_64_thunk_pcwin64.c
TPLM_64_thunk_pcwin64.c(47): error C2059: syntax error: ‘*’
I tried many things ans then, by seraching online, I saw that the problem is may due to the compiler version. Since I have also 2019 and 2020 matlab licenes I tried on both the version and i found out that it works on the 2019 version of Matlab.
So my questions is: Do you have any ideaa what could be the problem on the newest version? there is something that I can do to make it work on the 2020/2021 version?I’m working with some DLL library in order to integrate a measurment instrument (a power meeter) on Matlab. I’m using the 2021 version of Matlab and I used the following code to load the DLL library: (note that the library was given to me from the company who sell me the power meeter).
clear all;
%Load the library
NET.addAssembly(‘C:Program Files (x86)Microsoft.NETPrimary Interop AssembliesThorlabs.TLPM_64.Interop.dll’);
import Thorlabs.TLPM_64.Interop.*;
%Create a dummy TLPM object to check for compatible devices.
handle = System.IntPtr(0);
device = TLPM(handle);
%Search the device
[~,deviceCount] = device.findRsrc();
When I run it, Matlab load the library but when I try to use the function "findRsrc" I get the following error:
Found on line 1324 of input from line 1065 of file C:\Program Files\IVI Foundation\VISA\Win64\Include\TLPM.h
Type ‘intViStatus__fastcall’ was not found. Defaulting to type error.
Found on line 1325 of input from line 1066 of file C:\Program Files\IVI Foundation\VISA\Win64\Include\TLPM.h
Warning no reference to header ‘C:/Program Files/IVI Foundation/VISA/Win64/Include/visa’ added with addheader was found in source.
*********
Error using loadlibrary
Building TPLM_64_thunk_pcwin64 failed. Compiler output is:
cl -I"C:Program FilesIVI FoundationVISAWin64Lib_x64msc" -I"C:Program FilesIVI FoundationVISAWin64Include" -I"C:Program
FilesMATLABR2020aexterninclude" /Zp8 /W3 /nologo -I"C:UsersinstallDesktop" -I"C:Program FilesIVI FoundationVISAWin64Include"
"TPLM_64_thunk_pcwin64.c" -LD -Fe"TPLM_64_thunk_pcwin64.dll"
TPLM_64_thunk_pcwin64.c
TPLM_64_thunk_pcwin64.c(47): error C2059: syntax error: ‘*’
I tried many things ans then, by seraching online, I saw that the problem is may due to the compiler version. Since I have also 2019 and 2020 matlab licenes I tried on both the version and i found out that it works on the 2019 version of Matlab.
So my questions is: Do you have any ideaa what could be the problem on the newest version? there is something that I can do to make it work on the 2020/2021 version? I’m working with some DLL library in order to integrate a measurment instrument (a power meeter) on Matlab. I’m using the 2021 version of Matlab and I used the following code to load the DLL library: (note that the library was given to me from the company who sell me the power meeter).
clear all;
%Load the library
NET.addAssembly(‘C:Program Files (x86)Microsoft.NETPrimary Interop AssembliesThorlabs.TLPM_64.Interop.dll’);
import Thorlabs.TLPM_64.Interop.*;
%Create a dummy TLPM object to check for compatible devices.
handle = System.IntPtr(0);
device = TLPM(handle);
%Search the device
[~,deviceCount] = device.findRsrc();
When I run it, Matlab load the library but when I try to use the function "findRsrc" I get the following error:
Found on line 1324 of input from line 1065 of file C:\Program Files\IVI Foundation\VISA\Win64\Include\TLPM.h
Type ‘intViStatus__fastcall’ was not found. Defaulting to type error.
Found on line 1325 of input from line 1066 of file C:\Program Files\IVI Foundation\VISA\Win64\Include\TLPM.h
Warning no reference to header ‘C:/Program Files/IVI Foundation/VISA/Win64/Include/visa’ added with addheader was found in source.
*********
Error using loadlibrary
Building TPLM_64_thunk_pcwin64 failed. Compiler output is:
cl -I"C:Program FilesIVI FoundationVISAWin64Lib_x64msc" -I"C:Program FilesIVI FoundationVISAWin64Include" -I"C:Program
FilesMATLABR2020aexterninclude" /Zp8 /W3 /nologo -I"C:UsersinstallDesktop" -I"C:Program FilesIVI FoundationVISAWin64Include"
"TPLM_64_thunk_pcwin64.c" -LD -Fe"TPLM_64_thunk_pcwin64.dll"
TPLM_64_thunk_pcwin64.c
TPLM_64_thunk_pcwin64.c(47): error C2059: syntax error: ‘*’
I tried many things ans then, by seraching online, I saw that the problem is may due to the compiler version. Since I have also 2019 and 2020 matlab licenes I tried on both the version and i found out that it works on the 2019 version of Matlab.
So my questions is: Do you have any ideaa what could be the problem on the newest version? there is something that I can do to make it work on the 2020/2021 version? dll, matlab compiler MATLAB Answers — New Questions