Month: August 2024
Chapter page formatting for novel
I’m formatting a manuscript (my novel) in Word V 16.8 and need to have each new chapter start in the middle of the page without using the enter key or returns. I’m ignorant about most of Word. I only enough to start typing. Can you help?
I’m formatting a manuscript (my novel) in Word V 16.8 and need to have each new chapter start in the middle of the page without using the enter key or returns. I’m ignorant about most of Word. I only enough to start typing. Can you help? Read More
About the solution type in OOPs OnRamp course in Matlab
There is one particular course in Matlab called OOPs OnRamp which is really hard to solve even with the help of the solutions nearby. I feel that it is because of the file format. In that course, we are to type our solutions in different files and run them seperately and finally solve them which is really difficult for me and many of my friends. Is there any explanation for the course to solve? All the lessons in that course is hard to do.There is one particular course in Matlab called OOPs OnRamp which is really hard to solve even with the help of the solutions nearby. I feel that it is because of the file format. In that course, we are to type our solutions in different files and run them seperately and finally solve them which is really difficult for me and many of my friends. Is there any explanation for the course to solve? All the lessons in that course is hard to do. There is one particular course in Matlab called OOPs OnRamp which is really hard to solve even with the help of the solutions nearby. I feel that it is because of the file format. In that course, we are to type our solutions in different files and run them seperately and finally solve them which is really difficult for me and many of my friends. Is there any explanation for the course to solve? All the lessons in that course is hard to do. oops onramp, object-oriented programming onramp MATLAB Answers — New Questions
tally scores over several sheets
I am trying to create a summary score sheet to find a High point winner. The program has an Entries sheet where names are entered and marked as to which ‘classes’ they are participating in. (there are 12 classes) Each class has it’s own sheet. The competitors receive a set of scores for each class which is totaled and sorted High to Low. Of a total of 30 competitors maybe 10 are in one class, they can enter several classes.
I want to create a summary of their scores. A summary page uses this formula (=IF(Entries!$A4<>””,Entries!B4,””) to copy their names to the summary. The problem is for ‘Class A’ when the scores are tallied and sorted, the total does not match the competitor input line anymore. I can total a score if I chose a specific cell (=’#1 (Saturday)’!T6) but it does not relate to that competitor… Is there a way to sort that out?
I am trying to create a summary score sheet to find a High point winner. The program has an Entries sheet where names are entered and marked as to which ‘classes’ they are participating in. (there are 12 classes) Each class has it’s own sheet. The competitors receive a set of scores for each class which is totaled and sorted High to Low. Of a total of 30 competitors maybe 10 are in one class, they can enter several classes. I want to create a summary of their scores. A summary page uses this formula (=IF(Entries!$A4<>””,Entries!B4,””) to copy their names to the summary. The problem is for ‘Class A’ when the scores are tallied and sorted, the total does not match the competitor input line anymore. I can total a score if I chose a specific cell (=’#1 (Saturday)’!T6) but it does not relate to that competitor… Is there a way to sort that out? Read More
Why do not the Select part table display in the Block Parameterization Manager: Battery?
I want to select the Panasonic NCA593446 battery for Battery (Table-Based) block in my model and the Select part table don’t display anything in the Block Parameterization Manager: Battery. Please tell me how to fix this problem.I want to select the Panasonic NCA593446 battery for Battery (Table-Based) block in my model and the Select part table don’t display anything in the Block Parameterization Manager: Battery. Please tell me how to fix this problem. I want to select the Panasonic NCA593446 battery for Battery (Table-Based) block in my model and the Select part table don’t display anything in the Block Parameterization Manager: Battery. Please tell me how to fix this problem. battery, block parameterization manager MATLAB Answers — New Questions
Error encountered in the Deep Signal Anomaly detector while running the official SIMULINK example
Hi all,
I am runnining this official Simulink example here: fault_localization in 3-phase power line.
I had a somewhat different circuit and thus I trained a new model following this guideline. However, after training my deep anamoly detector and while trying to apply this trained model to my detection model, I keep getting this error as shown in this screenshot:
Any suggestions on how to fix this? I’m pretty sure I used the
saveModel
command to save the parameters of my trained model. It looks like the model parameters file in the provided example works here, but mine wouldn’t work. I spent quite some time on this but still haven’t figured out a solution.Hi all,
I am runnining this official Simulink example here: fault_localization in 3-phase power line.
I had a somewhat different circuit and thus I trained a new model following this guideline. However, after training my deep anamoly detector and while trying to apply this trained model to my detection model, I keep getting this error as shown in this screenshot:
Any suggestions on how to fix this? I’m pretty sure I used the
saveModel
command to save the parameters of my trained model. It looks like the model parameters file in the provided example works here, but mine wouldn’t work. I spent quite some time on this but still haven’t figured out a solution. Hi all,
I am runnining this official Simulink example here: fault_localization in 3-phase power line.
I had a somewhat different circuit and thus I trained a new model following this guideline. However, after training my deep anamoly detector and while trying to apply this trained model to my detection model, I keep getting this error as shown in this screenshot:
Any suggestions on how to fix this? I’m pretty sure I used the
saveModel
command to save the parameters of my trained model. It looks like the model parameters file in the provided example works here, but mine wouldn’t work. I spent quite some time on this but still haven’t figured out a solution. deep learning, simulink MATLAB Answers — New Questions
Unexpected behavior resulting from the Three-Phase-Fault block in my simulated circuit (Simulink)
Hi all,
I am simulating a circuit with a 3-phase fault inserted as shown here:
My goal is to simulate the fault at different locations by varying the length of the Distributed Parameters Line blocks many many times, and then collect the 3-phase voltage + current data for training a deep neural network for fault localization. Thus, I used an external control signal to somewhat randomly switch on and off the three-phase-fault block as shown here:
Where SysModel is the one I just showed earlier.
However, the weird thing happens. The external control signal to the 3-phase-fault occurs at around 0.01 second (determined by the pulse generator and delay), and lasts for 0.01 seconds. But the resulting 3-phase voltage and currents in the Time Scope look like this:
this does not make sense because:
There is no transient resposne in the currents at all
The transient response in the voltages should die out shortly after 0.02, but somehow it automatically turns up again toward the end of the simulation.
Here is the time scope for the external control signal that’s going into the 3-phase-fault block (From "Composite Signal 1" in the previous screenshot):
In addition, I am using the following settings for the Distributed Parameters Line blocks:
I’d greatly appreciate any help!Hi all,
I am simulating a circuit with a 3-phase fault inserted as shown here:
My goal is to simulate the fault at different locations by varying the length of the Distributed Parameters Line blocks many many times, and then collect the 3-phase voltage + current data for training a deep neural network for fault localization. Thus, I used an external control signal to somewhat randomly switch on and off the three-phase-fault block as shown here:
Where SysModel is the one I just showed earlier.
However, the weird thing happens. The external control signal to the 3-phase-fault occurs at around 0.01 second (determined by the pulse generator and delay), and lasts for 0.01 seconds. But the resulting 3-phase voltage and currents in the Time Scope look like this:
this does not make sense because:
There is no transient resposne in the currents at all
The transient response in the voltages should die out shortly after 0.02, but somehow it automatically turns up again toward the end of the simulation.
Here is the time scope for the external control signal that’s going into the 3-phase-fault block (From "Composite Signal 1" in the previous screenshot):
In addition, I am using the following settings for the Distributed Parameters Line blocks:
I’d greatly appreciate any help! Hi all,
I am simulating a circuit with a 3-phase fault inserted as shown here:
My goal is to simulate the fault at different locations by varying the length of the Distributed Parameters Line blocks many many times, and then collect the 3-phase voltage + current data for training a deep neural network for fault localization. Thus, I used an external control signal to somewhat randomly switch on and off the three-phase-fault block as shown here:
Where SysModel is the one I just showed earlier.
However, the weird thing happens. The external control signal to the 3-phase-fault occurs at around 0.01 second (determined by the pulse generator and delay), and lasts for 0.01 seconds. But the resulting 3-phase voltage and currents in the Time Scope look like this:
this does not make sense because:
There is no transient resposne in the currents at all
The transient response in the voltages should die out shortly after 0.02, but somehow it automatically turns up again toward the end of the simulation.
Here is the time scope for the external control signal that’s going into the 3-phase-fault block (From "Composite Signal 1" in the previous screenshot):
In addition, I am using the following settings for the Distributed Parameters Line blocks:
I’d greatly appreciate any help! simulink, simscape, circuits MATLAB Answers — New Questions
Dissertation Footnotes
I need the numerical footnote reference to be a size 12 font in the body of the text and a size 10 font in the footnote at the bottom of the page. Right now, I insert the footnote at the end of the sentence and have to change each individual one to size 12. I am about to combine all of my individual chapters with over 1,000 footnotes. When I cut and paste it, I am concerned that I will need to go back and individually change every one of the numbers in the body back to size 12.
Since I will continue to produce scholarly work, I would like to know how to do set this up where these will display correctly. I am working in CMS/Turabian for the formatting of the dissertation.
I need the numerical footnote reference to be a size 12 font in the body of the text and a size 10 font in the footnote at the bottom of the page. Right now, I insert the footnote at the end of the sentence and have to change each individual one to size 12. I am about to combine all of my individual chapters with over 1,000 footnotes. When I cut and paste it, I am concerned that I will need to go back and individually change every one of the numbers in the body back to size 12. Since I will continue to produce scholarly work, I would like to know how to do set this up where these will display correctly. I am working in CMS/Turabian for the formatting of the dissertation. Read More
Sharing data with a community
Hi all,
I’m an admin for a small group of volunteers in our community. As such, we’ve signed up for Microsoft’s non profit program.
I would like to accomplish the following: create a simple sharepoint site (document library?) in which members of my organisation can upload data (leaflets, promo material etc.). This data should be public available over the internet to everyone in our community, without the need for people in the community to sign in first.
Is there any way we can accomplish this?
Thanks for your answers 🙂
Hi all,I’m an admin for a small group of volunteers in our community. As such, we’ve signed up for Microsoft’s non profit program. I would like to accomplish the following: create a simple sharepoint site (document library?) in which members of my organisation can upload data (leaflets, promo material etc.). This data should be public available over the internet to everyone in our community, without the need for people in the community to sign in first.Is there any way we can accomplish this?Thanks for your answers 🙂 Read More
Why isn’t the 5G toolbox available for students/home users?
I have recently downloaded Matlab 2021b but I am unable to download the 5G toolbox for some unknown reason.
Thanks, BettyI have recently downloaded Matlab 2021b but I am unable to download the 5G toolbox for some unknown reason.
Thanks, Betty I have recently downloaded Matlab 2021b but I am unable to download the 5G toolbox for some unknown reason.
Thanks, Betty 5g toolbox MATLAB Answers — New Questions
In the Simulink, Model settings there is no Coverage option and no Requirement option in Matlab Simulink R2023b
Firstly, In the Simulink, Model settings there is no ‘Coverage’ option for me.
Second, Under APPS Tab in Simulink, I cannot find ‘Requirement Manager’ option. Also When I want to add requirement by copying the description and right-click the subsytem to add requirement, the requirement option is faded out(not clickable).
Using Matlab Simulink R2023b (using student version).Firstly, In the Simulink, Model settings there is no ‘Coverage’ option for me.
Second, Under APPS Tab in Simulink, I cannot find ‘Requirement Manager’ option. Also When I want to add requirement by copying the description and right-click the subsytem to add requirement, the requirement option is faded out(not clickable).
Using Matlab Simulink R2023b (using student version). Firstly, In the Simulink, Model settings there is no ‘Coverage’ option for me.
Second, Under APPS Tab in Simulink, I cannot find ‘Requirement Manager’ option. Also When I want to add requirement by copying the description and right-click the subsytem to add requirement, the requirement option is faded out(not clickable).
Using Matlab Simulink R2023b (using student version). coverage, matlab, simulink, requirement MATLAB Answers — New Questions
Network Scan Agent – installation/registration error
During the installation of Network Scan Agent, after entering the device login code, the agent tries to register. The registration fails with an error:
Internal server error > AadConfiguration has unexpected empty issuer
Have you ever encountered this error , or do you have any idea what to check and where ?
I have attached a printscreen with the error.
Thank you for your help.
During the installation of Network Scan Agent, after entering the device login code, the agent tries to register. The registration fails with an error: Internal server error > AadConfiguration has unexpected empty issuer Have you ever encountered this error , or do you have any idea what to check and where ?I have attached a printscreen with the error. Thank you for your help. Read More
OPTIMIZED OVER CURRENT RELAY CO-ORDINATION
can you please provide matlab code for optimal coordination of overcurrent relays using linear programming?can you please provide matlab code for optimal coordination of overcurrent relays using linear programming? can you please provide matlab code for optimal coordination of overcurrent relays using linear programming? optimization MATLAB Answers — New Questions
How to find the neighbors of each element in a matrix
Hi,
how I can find the neighbors of each element in a given matrix? Does such a method exist in Matlab?
Here is an example :
A=[3 4 8 6;
1 6 9 0;
2 5 7 1]
The neighbors of A(1,1) are {1, 4, 6}; The neighbors of A(1,2) are {3, 1, 6, 8, 9}; The neighbors of A(2, 1) are {3, 2, 4, 6, 5}; The neighbors of A(2, 2) are {3, 1, 2, 4, 5, 8, 9, 7}
Thanks.Hi,
how I can find the neighbors of each element in a given matrix? Does such a method exist in Matlab?
Here is an example :
A=[3 4 8 6;
1 6 9 0;
2 5 7 1]
The neighbors of A(1,1) are {1, 4, 6}; The neighbors of A(1,2) are {3, 1, 6, 8, 9}; The neighbors of A(2, 1) are {3, 2, 4, 6, 5}; The neighbors of A(2, 2) are {3, 1, 2, 4, 5, 8, 9, 7}
Thanks. Hi,
how I can find the neighbors of each element in a given matrix? Does such a method exist in Matlab?
Here is an example :
A=[3 4 8 6;
1 6 9 0;
2 5 7 1]
The neighbors of A(1,1) are {1, 4, 6}; The neighbors of A(1,2) are {3, 1, 6, 8, 9}; The neighbors of A(2, 1) are {3, 2, 4, 6, 5}; The neighbors of A(2, 2) are {3, 1, 2, 4, 5, 8, 9, 7}
Thanks. neighbors of each element in a matrix MATLAB Answers — New Questions
Alzheimer disease dataset using deep learning technologies
Can anyone please respond that I’m working on an m.tech project which is of Alzheimer disease prediction using deep learning technologies and I’m using i5 processor having 16gb and 512gb causing my code to run very slow In some cases days for an single program very dissatisfied for this reason so I’m trying to improve the performance of my laptop and decided to buy an new one which works very faster especially for project use. So can anyone prefer which is best for my project and the price is not at problem.Can anyone please respond that I’m working on an m.tech project which is of Alzheimer disease prediction using deep learning technologies and I’m using i5 processor having 16gb and 512gb causing my code to run very slow In some cases days for an single program very dissatisfied for this reason so I’m trying to improve the performance of my laptop and decided to buy an new one which works very faster especially for project use. So can anyone prefer which is best for my project and the price is not at problem. Can anyone please respond that I’m working on an m.tech project which is of Alzheimer disease prediction using deep learning technologies and I’m using i5 processor having 16gb and 512gb causing my code to run very slow In some cases days for an single program very dissatisfied for this reason so I’m trying to improve the performance of my laptop and decided to buy an new one which works very faster especially for project use. So can anyone prefer which is best for my project and the price is not at problem. alzheimer’s disease, matlab, deep learning MATLAB Answers — New Questions
I have missile and target data in.txt format and f-16.mat and missile.mat models for 3d animating missile and target . According to my data set missile path is in trajectory.
But when I want to 3d models for animating they are not animating only plotting is animating .I don’t what’s the issue . Can you correct the code if it’s possible
Here is my .mat files data """>> load(‘enemy.mat’);
whos
Name Size Bytes Class Attributes
data_aam 1559×6 76947 table
data_enemy 2129×6 104305 table
end_idx 1×1 8 double
n_rows_aam 1×1 8 double
n_rows_enemy 1×1 8 double
n_steps 1×1 8 double
pAlpha 1×1 8 double
pEdge 1×3 24 double
pFace 1×3 24 double
pMatrix 1559×6 74832 double
pModel 1×8 16 char
pPath 1×2 4 char
pPathColor 1×3 24 double
pPathWidth 1×1 8 double
pScale 1×1 8 double
start_idx 1×1 8 double
trajectory_aam 1559×6 74832 double
trajectory_enemy 1559×6 74832 double
>> load(‘aam.mat’);
whos
Name Size Bytes Class Attributes
data_aam 1559×6 76947 table
data_enemy 2129×6 104305 table
end_idx 1×1 8 double
n_rows_aam 1×1 8 double
n_rows_enemy 1×1 8 double
n_steps 1×1 8 double
pAlpha 1×1 8 double
pEdge 1×3 24 double
pFace 1×3 24 double
pMatrix 1559×6 74832 double
pModel 1×11 22 char
pPath 1×2 4 char
pPathColor 1×3 24 double
pPathWidth 1×1 8 double
pScale 1×1 8 double
start_idx 1×1 8 double
trajectory_aam 1559×6 74832 double
trajectory_enemy 1559×6 74832 double
>> % Check the contents of f-16.mat
matFileF16 = load(‘f-16.mat’);
disp(matFileF16);
% Check the contents of missile.mat
matFileMissile = load(‘missile.mat’);
disp(matFileMissile);
V: [2537×3 double]
F: [4428×3 double]
C: [2537×1 double]
V: [3902×3 double]
F: [7426×3 double]
C: [3902×1 double]"""
*
# * bold*% Load and process the .txt files
data_enemy = readtable(‘target_2.txt’, ‘VariableNamingRule’, ‘preserve’); % Target data
data_aam = readtable(‘missile_2.txt’, ‘VariableNamingRule’, ‘preserve’); % Missile data
% Extract relevant columns: position (x, y, z) and angular data (phi, theta, psi)
trajectory_enemy = [data_enemy.tgtpos_x, data_enemy.tgt_pos_y, data_enemy.tgt_pos_z, …
data_enemy.tgt_phi, data_enemy.tgt_theta, data_enemy.tgt_psi];
% Time vector for the enemy (target) data
time_enemy = 1:size(trajectory_enemy, 1);
% Time vector for the missile data
time_aam = linspace(1, size(trajectory_enemy, 1), size(data_aam, 1));
% Interpolate missile data to match the target data size
trajectory_aam_interp = interp1(time_aam, [data_aam.Msl_pos_x, data_aam.Msl_pos_y, data_aam.Msl_pos_z, …
data_aam.Msl_phi, data_aam.Msl_theta, data_aam.Msl_psi], …
time_enemy);
% Verify data array sizes
disp(‘Size of target trajectory:’);
disp(size(trajectory_enemy));
disp(‘Size of interpolated missile trajectory:’);
disp(size(trajectory_aam_interp));
% Save interpolated data to .mat files for use in flypath
save(‘enemy_trajectory.mat’, ‘trajectory_enemy’);
save(‘aam_trajectory.mat’, ‘trajectory_aam_interp’);
% Create 3D models with appropriate scaling
new_object(‘enemy.mat’, trajectory_enemy, …
‘model’, ‘f-16.mat’, ‘edge’, [.4 .4 .4], ‘face’, [.6 .6 .6], …
‘path’, ‘on’, ‘pathcolor’, [.3 .3 .3], ‘pathwidth’, 1, ‘scale’, 0.0005);
new_object(‘aam.mat’, trajectory_aam_interp, …
‘model’, ‘missile.mat’, ‘edge’, [.2 .2 .2], ‘face’, [.3 .3 .3], …
‘path’, ‘on’, ‘pathcolor’, [.89 .47 .0], ‘pathwidth’, 1, ‘scale’, 0.0005);
disp(‘Checking dimensions of loaded matrices…’);
load(‘enemy.mat’);
disp(size(trajectory_enemy));
load(‘aam.mat’);
disp(size(trajectory_aam_interp));
flypath(‘enemy.mat’, ‘aam.mat’, …
‘animate’, ‘on’, ‘step’, 10, …
‘font’, ‘Arial’, ‘fontsize’, 12, …
‘view’, [45, 30], ‘window’, [800, 600], …
‘output’, ‘trajectory_animation.mp4’, …
‘xlim’, [-10000, 10000], …
‘ylim’, [-10000, 15000], …
‘zlim’, [-1500, 2000]);
Here is flypath function code *****%
% FLYPATH (flypath.m)
%
% Displays static and animated trajectories of missiles and air targets
%
% SYNTAX:
%
% flypath(object_1,object_2,…,object_n,varargin)
%
% PARAMETERS:
%
% object_x : object data set produced by ‘new_object’ function,
% use command ‘help new_object’ to get more information
%
% OPTIONAL ARGUMENTS:
%
% ‘animate’ : animation on/off (‘on’,’off’ – default ‘off’)
% ‘axis’ : axes visibility (‘on’,’off’ – default ‘on’)
% ‘axiscolor’ : axes and axes font color ([R G B] – default [0 0 0])
% ‘color’ : display area color ([R G B] – default [1 1 1])
% ‘dpi’ : dpi value (75,150,300,600 – default 150)
% ‘font’ : font name (string – default ‘Times New Roman’)
% ‘fontsize’ : font size (default 12)
% ‘output’ : output file name (string – default ‘none’)
% ‘step’ : model repetition density (default 10)
% ‘view’ : camera view angles ([azimuth elevation] – default [15 30])
% ‘window’ : display area size ([width height] – default [800 600])
% ‘xlim’ : x axes limits ([min max] or ‘off’ – default ‘off’)
% ‘ylim’ : y axes limits ([min max] or ‘off’ – default ‘off’)
% ‘zlim’ : x axes limits ([min max] or ‘off’ – default ‘off’)
%
% EXAMPLES OF USE:
%
% trajectory = load(‘trajectory_tbm.mat’);
% new_object(‘ballistic_missile.mat’,trajectory,…
% ‘model’,’scud.mat’,’scale’,5,…
% ‘path’,’on’,’pathcolor’,[.89 .0 .27]);
% flypath(‘ballistic_missile.mat’,…
% ‘animate’,’off’,’step’,30,…
% ‘axis’,’on’,’axiscolor’,[0 0 0],’color’,[1 1 1],…
% ‘font’,’Georgia’,’fontsize’,6,…
% ‘view’,[0 0],’window’,[1800 600],…
% ‘xlim’,[-2e4 16e4],’ylim’,[-10 10],’zlim’,[0 4e4],…
% ‘output’,’tbm_example.png’,’dpi’,600);
%
function flypath(varargin)
objCount = 0;
% — check input parameters —
if nargin < 1
error(‘Not enough input parameters!’);
end;
% — default input parameters —
pAnimate = ‘off’; % animation: ‘on’,’off’
pAxis = ‘on’; % axes visibility: ‘on’,’off’
pAxisColor = [ 0 0 0 ]; % axes and axes font color: [ R G B ]
pColor = [ 1 1 1 ]; % display area color: [ R G B ]
pDpi = 150; % dpi value: 75, 150, 300, 600
pFont = ‘Times New Roman’; % font name
pFontSize = 12; % font size
pOutput = ‘none’; % output filename or ‘none’
pStep = 10; % model repetition density
pView = [ 15 30 ]; % camera view angles: [ azimuth elevation ]
pWindow = [ 800 600 ]; % display area size (in pixels)
pXLim = ‘off’; % x axes limits ([min max] or ‘off’ – default ‘off’)
pYLim = ‘off’; % y axes limits ([min max] or ‘off’ – default ‘off’)
pZLim = ‘off’; % z axes limits ([min max] or ‘off’ – default ‘off’)
% — read input parameters —
i = 1;
while i <= length(varargin)
switch lower(varargin{i})
case ‘animate’
pAnimate = varargin{i+1};
i = i + 2;
case ‘axis’
pAxis = varargin{i+1};
i = i + 2;
case ‘axiscolor’
pAxisColor = varargin{i+1};
i = i + 2;
case ‘color’
pColor = varargin{i+1};
i = i + 2;
case ‘dpi’
pDpi = varargin{i+1};
i = i + 2;
case ‘font’
pFont = varargin{i+1};
i = i + 2;
case ‘fontsize’
pFontSize = varargin{i+1};
i = i + 2;
case ‘output’
pOutput = varargin{i+1};
i = i + 2;
case ‘step’
pStep = varargin{i+1};
i = i + 2;
case ‘view’
pView = varargin{i+1};
i = i + 2;
case ‘window’
pWindow = varargin{i+1};
i = i + 2;
case ‘xlim’
pXLim = varargin{i+1};
i = i + 2;
case ‘ylim’
pYLim = varargin{i+1};
i = i + 2;
case ‘zlim’
pZLim = varargin{i+1};
i = i + 2;
otherwise
if exist(varargin{i},’file’) == 2
objCount = objCount + 1;
else
error(‘file %s does not exist!’,varargin{i});
end
i = i + 1;
end
end;
% — object loader —
i = 1;
while i <= objCount
% — load data to tmp variable —
tmp = load(varargin{i});
% — add data to obj structure —
if size(tmp.pMatrix,1) < size(tmp.pMatrix,2)
obj(i).matrix = tmp.pMatrix’;
else
obj(i).matrix = tmp.pMatrix;
end;
obj(i).face = tmp.pFace;
obj(i).edge = tmp.pEdge;
obj(i).alpha = tmp.pAlpha;
obj(i).path = tmp.pPath;
obj(i).pathcolor = tmp.pPathColor;
obj(i).pathwidth = tmp.pPathWidth;
obj(i).scale = tmp.pScale;
% — add 3d model to the structure —
tmp = load(tmp.pModel);
obj(i).v(:,1) = -1 * obj(i).scale * tmp.V(:,1);
obj(i).v(:,2) = 1 * obj(i).scale * tmp.V(:,2);
obj(i).v(:,3) = 1 * obj(i).scale * tmp.V(:,3);
obj(i).f = tmp.F;
% — increment counter —
i = i + 1;
end;
% — check matrix sizes —
sizeCounter = 0;
maxLength = size(obj(1).matrix,1);
if objCount > 1
i = 2;
while i <= objCount
if size(obj(i).matrix,1) ~= maxLength
sizeCounter = sizeCounter + 1;
end;
i = i + 1;
end;
if sizeCounter > 0
warning(‘data array sizes are different!’);
warning(‘data cutted to the smallest matrix dimension’);
i = 1;
maxLength = 9e100;
while i <= objCount
if size(obj(i).matrix,1) < maxLength
maxLength = size(obj(i).matrix,1);
end
i = i + 1;
end;
end;
end
% — check step size —
if pStep >= maxLength
warning(‘step size is equal or greather than max length of data array!’);
warning(‘default step value used’);
pStep = 10;
end;
% — prepare display area —
fig = figure(1);
set(fig,…
‘Name’,’flypath3d’,…
‘NumberTitle’,’off’,…
‘MenuBar’,’none’,…
‘ToolBar’,’figure’,…
‘Pointer’,’crosshair’,…
‘Position’,[50 50 pWindow(1) pWindow(2)],…
‘Color’,pColor);
set(gca,…
‘FontName’,pFont,…
‘Color’,pColor,…
‘XColor’,pAxisColor,…
‘YColor’,pAxisColor,…
‘ZColor’,pAxisColor,…
‘FontSize’,pFontSize);
clf(fig);
hold on;
% — animate —
for i = 1:pStep:maxLength
% — prepare new frame for animation —
if strcmp(pAnimate,’on’) == 1
clf(fig);
hold on;
end;
set(gca,…
‘FontName’,pFont,…
‘Color’,pColor,…
‘XColor’,pAxisColor,…
‘YColor’,pAxisColor,…
‘ZColor’,pAxisColor,…
‘FontSize’,pFontSize);
% — draw scene —
for j = 1:1:objCount
theta = obj(j).matrix(i,4);
psi = obj(j).matrix(i,5) – pi/2;
phi = -1 * obj(j).matrix(i,6);
% — transformation matrix —
sinTheta = sin(theta);
cosTheta = cos(theta);
sinPsi = sin(psi);
cosPsi = cos(psi);
sinPhi = sin(phi);
cosPhi = cos(phi);
transformMatrix = [ …
cosPsi * cosTheta …
-sinPsi * cosTheta …
sinTheta; …
cosPsi * sinTheta * sinPhi + sinPsi * cosPhi …
-sinPsi * sinTheta * sinPhi + cosPsi * cosPhi …
-cosTheta * sinPhi; …
-cosPsi * sinTheta * cosPhi + sinPsi * sinPhi …
sinPsi * sinTheta * cosPhi + cosPsi * sinPhi …
cosTheta * cosPhi ];
vertices = obj(j).v * transformMatrix;
objectSet = [ obj(j).matrix(i,1) obj(j).matrix(i,2) obj(j).matrix(i,3) ];
delta = repmat( objectSet, size( vertices, 1 ), 1 );
vertices = vertices + delta;
objPath = patch( ‘faces’, obj(j).f, ‘vertices’, vertices );
set(objPath, …
‘FaceColor’,obj(j).face,…
‘FaceAlpha’,obj(j).alpha,…
‘EdgeColor’,obj(j).edge );
if strcmp(obj(j).path,’on’) == 1
plot3(obj(j).matrix(1:i,1),…
obj(j).matrix(1:i,2),…
obj(j).matrix(1:i,3),…
‘Color’, obj(j).pathcolor, …
‘LineWidth’, obj(j).pathwidth, …
‘LineStyle’, ‘-‘);
end;
end;
% — display parameters —
if strcmp(pXLim,’off’) ~= 1
xlim( pXLim );
end
if strcmp(pYLim,’off’) ~= 1
ylim( pYLim );
end
if strcmp(pZLim,’off’) ~= 1
zlim( pZLim );
end
xlabel(‘x [m]’);
ylabel(‘y [m]’);
zlabel(‘z [m]’);
if strcmp(pAxis,’on’) == 1
axis on;
axis square;
grid on;
else
axis off;
axis square;
grid off;
end;
lighting phong;
daspect([1 1 1]);
view( pView );
if strcmp(pAnimate,’on’) == 1
drawnow;
end;
% — save the results to the gif file —
if strcmp(pAnimate,’on’) == 1
if strcmp(pOutput,’none’) ~= 1
frame = getframe(1);
im = frame2im(frame);
[A,map] = rgb2ind(im,256);
if i == 1;
imwrite(A,map,pOutput,’gif’,’LoopCount’,Inf,’DelayTime’,.04);
else
imwrite(A,map,pOutput,’gif’,’WriteMode’,’append’,’DelayTime’,.04);
end;
end;
end;
end;
if strcmp(pAnimate,’off’) == 1
if strcmp(pOutput,’none’) ~= 1
switch(pDpi)
case 75
eval(sprintf(‘print -dpng -r75 %s;’, pOutput));
case 150
eval(sprintf(‘print -dpng -r150 %s;’, pOutput));
case 300
eval(sprintf(‘print -dpng -r300 %s;’, pOutput));
case 600
eval(sprintf(‘print -dpng -r600 %s;’, pOutput));
otherwise
eval(sprintf(‘print -dpng -r600 %s;’, pOutput));
end;
end;
end;
end**** Where I’m getting wrong please suggest me and I have given all .matfiles data . Where I’m getting issue I want 3d models animationBut when I want to 3d models for animating they are not animating only plotting is animating .I don’t what’s the issue . Can you correct the code if it’s possible
Here is my .mat files data """>> load(‘enemy.mat’);
whos
Name Size Bytes Class Attributes
data_aam 1559×6 76947 table
data_enemy 2129×6 104305 table
end_idx 1×1 8 double
n_rows_aam 1×1 8 double
n_rows_enemy 1×1 8 double
n_steps 1×1 8 double
pAlpha 1×1 8 double
pEdge 1×3 24 double
pFace 1×3 24 double
pMatrix 1559×6 74832 double
pModel 1×8 16 char
pPath 1×2 4 char
pPathColor 1×3 24 double
pPathWidth 1×1 8 double
pScale 1×1 8 double
start_idx 1×1 8 double
trajectory_aam 1559×6 74832 double
trajectory_enemy 1559×6 74832 double
>> load(‘aam.mat’);
whos
Name Size Bytes Class Attributes
data_aam 1559×6 76947 table
data_enemy 2129×6 104305 table
end_idx 1×1 8 double
n_rows_aam 1×1 8 double
n_rows_enemy 1×1 8 double
n_steps 1×1 8 double
pAlpha 1×1 8 double
pEdge 1×3 24 double
pFace 1×3 24 double
pMatrix 1559×6 74832 double
pModel 1×11 22 char
pPath 1×2 4 char
pPathColor 1×3 24 double
pPathWidth 1×1 8 double
pScale 1×1 8 double
start_idx 1×1 8 double
trajectory_aam 1559×6 74832 double
trajectory_enemy 1559×6 74832 double
>> % Check the contents of f-16.mat
matFileF16 = load(‘f-16.mat’);
disp(matFileF16);
% Check the contents of missile.mat
matFileMissile = load(‘missile.mat’);
disp(matFileMissile);
V: [2537×3 double]
F: [4428×3 double]
C: [2537×1 double]
V: [3902×3 double]
F: [7426×3 double]
C: [3902×1 double]"""
*
# * bold*% Load and process the .txt files
data_enemy = readtable(‘target_2.txt’, ‘VariableNamingRule’, ‘preserve’); % Target data
data_aam = readtable(‘missile_2.txt’, ‘VariableNamingRule’, ‘preserve’); % Missile data
% Extract relevant columns: position (x, y, z) and angular data (phi, theta, psi)
trajectory_enemy = [data_enemy.tgtpos_x, data_enemy.tgt_pos_y, data_enemy.tgt_pos_z, …
data_enemy.tgt_phi, data_enemy.tgt_theta, data_enemy.tgt_psi];
% Time vector for the enemy (target) data
time_enemy = 1:size(trajectory_enemy, 1);
% Time vector for the missile data
time_aam = linspace(1, size(trajectory_enemy, 1), size(data_aam, 1));
% Interpolate missile data to match the target data size
trajectory_aam_interp = interp1(time_aam, [data_aam.Msl_pos_x, data_aam.Msl_pos_y, data_aam.Msl_pos_z, …
data_aam.Msl_phi, data_aam.Msl_theta, data_aam.Msl_psi], …
time_enemy);
% Verify data array sizes
disp(‘Size of target trajectory:’);
disp(size(trajectory_enemy));
disp(‘Size of interpolated missile trajectory:’);
disp(size(trajectory_aam_interp));
% Save interpolated data to .mat files for use in flypath
save(‘enemy_trajectory.mat’, ‘trajectory_enemy’);
save(‘aam_trajectory.mat’, ‘trajectory_aam_interp’);
% Create 3D models with appropriate scaling
new_object(‘enemy.mat’, trajectory_enemy, …
‘model’, ‘f-16.mat’, ‘edge’, [.4 .4 .4], ‘face’, [.6 .6 .6], …
‘path’, ‘on’, ‘pathcolor’, [.3 .3 .3], ‘pathwidth’, 1, ‘scale’, 0.0005);
new_object(‘aam.mat’, trajectory_aam_interp, …
‘model’, ‘missile.mat’, ‘edge’, [.2 .2 .2], ‘face’, [.3 .3 .3], …
‘path’, ‘on’, ‘pathcolor’, [.89 .47 .0], ‘pathwidth’, 1, ‘scale’, 0.0005);
disp(‘Checking dimensions of loaded matrices…’);
load(‘enemy.mat’);
disp(size(trajectory_enemy));
load(‘aam.mat’);
disp(size(trajectory_aam_interp));
flypath(‘enemy.mat’, ‘aam.mat’, …
‘animate’, ‘on’, ‘step’, 10, …
‘font’, ‘Arial’, ‘fontsize’, 12, …
‘view’, [45, 30], ‘window’, [800, 600], …
‘output’, ‘trajectory_animation.mp4’, …
‘xlim’, [-10000, 10000], …
‘ylim’, [-10000, 15000], …
‘zlim’, [-1500, 2000]);
Here is flypath function code *****%
% FLYPATH (flypath.m)
%
% Displays static and animated trajectories of missiles and air targets
%
% SYNTAX:
%
% flypath(object_1,object_2,…,object_n,varargin)
%
% PARAMETERS:
%
% object_x : object data set produced by ‘new_object’ function,
% use command ‘help new_object’ to get more information
%
% OPTIONAL ARGUMENTS:
%
% ‘animate’ : animation on/off (‘on’,’off’ – default ‘off’)
% ‘axis’ : axes visibility (‘on’,’off’ – default ‘on’)
% ‘axiscolor’ : axes and axes font color ([R G B] – default [0 0 0])
% ‘color’ : display area color ([R G B] – default [1 1 1])
% ‘dpi’ : dpi value (75,150,300,600 – default 150)
% ‘font’ : font name (string – default ‘Times New Roman’)
% ‘fontsize’ : font size (default 12)
% ‘output’ : output file name (string – default ‘none’)
% ‘step’ : model repetition density (default 10)
% ‘view’ : camera view angles ([azimuth elevation] – default [15 30])
% ‘window’ : display area size ([width height] – default [800 600])
% ‘xlim’ : x axes limits ([min max] or ‘off’ – default ‘off’)
% ‘ylim’ : y axes limits ([min max] or ‘off’ – default ‘off’)
% ‘zlim’ : x axes limits ([min max] or ‘off’ – default ‘off’)
%
% EXAMPLES OF USE:
%
% trajectory = load(‘trajectory_tbm.mat’);
% new_object(‘ballistic_missile.mat’,trajectory,…
% ‘model’,’scud.mat’,’scale’,5,…
% ‘path’,’on’,’pathcolor’,[.89 .0 .27]);
% flypath(‘ballistic_missile.mat’,…
% ‘animate’,’off’,’step’,30,…
% ‘axis’,’on’,’axiscolor’,[0 0 0],’color’,[1 1 1],…
% ‘font’,’Georgia’,’fontsize’,6,…
% ‘view’,[0 0],’window’,[1800 600],…
% ‘xlim’,[-2e4 16e4],’ylim’,[-10 10],’zlim’,[0 4e4],…
% ‘output’,’tbm_example.png’,’dpi’,600);
%
function flypath(varargin)
objCount = 0;
% — check input parameters —
if nargin < 1
error(‘Not enough input parameters!’);
end;
% — default input parameters —
pAnimate = ‘off’; % animation: ‘on’,’off’
pAxis = ‘on’; % axes visibility: ‘on’,’off’
pAxisColor = [ 0 0 0 ]; % axes and axes font color: [ R G B ]
pColor = [ 1 1 1 ]; % display area color: [ R G B ]
pDpi = 150; % dpi value: 75, 150, 300, 600
pFont = ‘Times New Roman’; % font name
pFontSize = 12; % font size
pOutput = ‘none’; % output filename or ‘none’
pStep = 10; % model repetition density
pView = [ 15 30 ]; % camera view angles: [ azimuth elevation ]
pWindow = [ 800 600 ]; % display area size (in pixels)
pXLim = ‘off’; % x axes limits ([min max] or ‘off’ – default ‘off’)
pYLim = ‘off’; % y axes limits ([min max] or ‘off’ – default ‘off’)
pZLim = ‘off’; % z axes limits ([min max] or ‘off’ – default ‘off’)
% — read input parameters —
i = 1;
while i <= length(varargin)
switch lower(varargin{i})
case ‘animate’
pAnimate = varargin{i+1};
i = i + 2;
case ‘axis’
pAxis = varargin{i+1};
i = i + 2;
case ‘axiscolor’
pAxisColor = varargin{i+1};
i = i + 2;
case ‘color’
pColor = varargin{i+1};
i = i + 2;
case ‘dpi’
pDpi = varargin{i+1};
i = i + 2;
case ‘font’
pFont = varargin{i+1};
i = i + 2;
case ‘fontsize’
pFontSize = varargin{i+1};
i = i + 2;
case ‘output’
pOutput = varargin{i+1};
i = i + 2;
case ‘step’
pStep = varargin{i+1};
i = i + 2;
case ‘view’
pView = varargin{i+1};
i = i + 2;
case ‘window’
pWindow = varargin{i+1};
i = i + 2;
case ‘xlim’
pXLim = varargin{i+1};
i = i + 2;
case ‘ylim’
pYLim = varargin{i+1};
i = i + 2;
case ‘zlim’
pZLim = varargin{i+1};
i = i + 2;
otherwise
if exist(varargin{i},’file’) == 2
objCount = objCount + 1;
else
error(‘file %s does not exist!’,varargin{i});
end
i = i + 1;
end
end;
% — object loader —
i = 1;
while i <= objCount
% — load data to tmp variable —
tmp = load(varargin{i});
% — add data to obj structure —
if size(tmp.pMatrix,1) < size(tmp.pMatrix,2)
obj(i).matrix = tmp.pMatrix’;
else
obj(i).matrix = tmp.pMatrix;
end;
obj(i).face = tmp.pFace;
obj(i).edge = tmp.pEdge;
obj(i).alpha = tmp.pAlpha;
obj(i).path = tmp.pPath;
obj(i).pathcolor = tmp.pPathColor;
obj(i).pathwidth = tmp.pPathWidth;
obj(i).scale = tmp.pScale;
% — add 3d model to the structure —
tmp = load(tmp.pModel);
obj(i).v(:,1) = -1 * obj(i).scale * tmp.V(:,1);
obj(i).v(:,2) = 1 * obj(i).scale * tmp.V(:,2);
obj(i).v(:,3) = 1 * obj(i).scale * tmp.V(:,3);
obj(i).f = tmp.F;
% — increment counter —
i = i + 1;
end;
% — check matrix sizes —
sizeCounter = 0;
maxLength = size(obj(1).matrix,1);
if objCount > 1
i = 2;
while i <= objCount
if size(obj(i).matrix,1) ~= maxLength
sizeCounter = sizeCounter + 1;
end;
i = i + 1;
end;
if sizeCounter > 0
warning(‘data array sizes are different!’);
warning(‘data cutted to the smallest matrix dimension’);
i = 1;
maxLength = 9e100;
while i <= objCount
if size(obj(i).matrix,1) < maxLength
maxLength = size(obj(i).matrix,1);
end
i = i + 1;
end;
end;
end
% — check step size —
if pStep >= maxLength
warning(‘step size is equal or greather than max length of data array!’);
warning(‘default step value used’);
pStep = 10;
end;
% — prepare display area —
fig = figure(1);
set(fig,…
‘Name’,’flypath3d’,…
‘NumberTitle’,’off’,…
‘MenuBar’,’none’,…
‘ToolBar’,’figure’,…
‘Pointer’,’crosshair’,…
‘Position’,[50 50 pWindow(1) pWindow(2)],…
‘Color’,pColor);
set(gca,…
‘FontName’,pFont,…
‘Color’,pColor,…
‘XColor’,pAxisColor,…
‘YColor’,pAxisColor,…
‘ZColor’,pAxisColor,…
‘FontSize’,pFontSize);
clf(fig);
hold on;
% — animate —
for i = 1:pStep:maxLength
% — prepare new frame for animation —
if strcmp(pAnimate,’on’) == 1
clf(fig);
hold on;
end;
set(gca,…
‘FontName’,pFont,…
‘Color’,pColor,…
‘XColor’,pAxisColor,…
‘YColor’,pAxisColor,…
‘ZColor’,pAxisColor,…
‘FontSize’,pFontSize);
% — draw scene —
for j = 1:1:objCount
theta = obj(j).matrix(i,4);
psi = obj(j).matrix(i,5) – pi/2;
phi = -1 * obj(j).matrix(i,6);
% — transformation matrix —
sinTheta = sin(theta);
cosTheta = cos(theta);
sinPsi = sin(psi);
cosPsi = cos(psi);
sinPhi = sin(phi);
cosPhi = cos(phi);
transformMatrix = [ …
cosPsi * cosTheta …
-sinPsi * cosTheta …
sinTheta; …
cosPsi * sinTheta * sinPhi + sinPsi * cosPhi …
-sinPsi * sinTheta * sinPhi + cosPsi * cosPhi …
-cosTheta * sinPhi; …
-cosPsi * sinTheta * cosPhi + sinPsi * sinPhi …
sinPsi * sinTheta * cosPhi + cosPsi * sinPhi …
cosTheta * cosPhi ];
vertices = obj(j).v * transformMatrix;
objectSet = [ obj(j).matrix(i,1) obj(j).matrix(i,2) obj(j).matrix(i,3) ];
delta = repmat( objectSet, size( vertices, 1 ), 1 );
vertices = vertices + delta;
objPath = patch( ‘faces’, obj(j).f, ‘vertices’, vertices );
set(objPath, …
‘FaceColor’,obj(j).face,…
‘FaceAlpha’,obj(j).alpha,…
‘EdgeColor’,obj(j).edge );
if strcmp(obj(j).path,’on’) == 1
plot3(obj(j).matrix(1:i,1),…
obj(j).matrix(1:i,2),…
obj(j).matrix(1:i,3),…
‘Color’, obj(j).pathcolor, …
‘LineWidth’, obj(j).pathwidth, …
‘LineStyle’, ‘-‘);
end;
end;
% — display parameters —
if strcmp(pXLim,’off’) ~= 1
xlim( pXLim );
end
if strcmp(pYLim,’off’) ~= 1
ylim( pYLim );
end
if strcmp(pZLim,’off’) ~= 1
zlim( pZLim );
end
xlabel(‘x [m]’);
ylabel(‘y [m]’);
zlabel(‘z [m]’);
if strcmp(pAxis,’on’) == 1
axis on;
axis square;
grid on;
else
axis off;
axis square;
grid off;
end;
lighting phong;
daspect([1 1 1]);
view( pView );
if strcmp(pAnimate,’on’) == 1
drawnow;
end;
% — save the results to the gif file —
if strcmp(pAnimate,’on’) == 1
if strcmp(pOutput,’none’) ~= 1
frame = getframe(1);
im = frame2im(frame);
[A,map] = rgb2ind(im,256);
if i == 1;
imwrite(A,map,pOutput,’gif’,’LoopCount’,Inf,’DelayTime’,.04);
else
imwrite(A,map,pOutput,’gif’,’WriteMode’,’append’,’DelayTime’,.04);
end;
end;
end;
end;
if strcmp(pAnimate,’off’) == 1
if strcmp(pOutput,’none’) ~= 1
switch(pDpi)
case 75
eval(sprintf(‘print -dpng -r75 %s;’, pOutput));
case 150
eval(sprintf(‘print -dpng -r150 %s;’, pOutput));
case 300
eval(sprintf(‘print -dpng -r300 %s;’, pOutput));
case 600
eval(sprintf(‘print -dpng -r600 %s;’, pOutput));
otherwise
eval(sprintf(‘print -dpng -r600 %s;’, pOutput));
end;
end;
end;
end**** Where I’m getting wrong please suggest me and I have given all .matfiles data . Where I’m getting issue I want 3d models animation But when I want to 3d models for animating they are not animating only plotting is animating .I don’t what’s the issue . Can you correct the code if it’s possible
Here is my .mat files data """>> load(‘enemy.mat’);
whos
Name Size Bytes Class Attributes
data_aam 1559×6 76947 table
data_enemy 2129×6 104305 table
end_idx 1×1 8 double
n_rows_aam 1×1 8 double
n_rows_enemy 1×1 8 double
n_steps 1×1 8 double
pAlpha 1×1 8 double
pEdge 1×3 24 double
pFace 1×3 24 double
pMatrix 1559×6 74832 double
pModel 1×8 16 char
pPath 1×2 4 char
pPathColor 1×3 24 double
pPathWidth 1×1 8 double
pScale 1×1 8 double
start_idx 1×1 8 double
trajectory_aam 1559×6 74832 double
trajectory_enemy 1559×6 74832 double
>> load(‘aam.mat’);
whos
Name Size Bytes Class Attributes
data_aam 1559×6 76947 table
data_enemy 2129×6 104305 table
end_idx 1×1 8 double
n_rows_aam 1×1 8 double
n_rows_enemy 1×1 8 double
n_steps 1×1 8 double
pAlpha 1×1 8 double
pEdge 1×3 24 double
pFace 1×3 24 double
pMatrix 1559×6 74832 double
pModel 1×11 22 char
pPath 1×2 4 char
pPathColor 1×3 24 double
pPathWidth 1×1 8 double
pScale 1×1 8 double
start_idx 1×1 8 double
trajectory_aam 1559×6 74832 double
trajectory_enemy 1559×6 74832 double
>> % Check the contents of f-16.mat
matFileF16 = load(‘f-16.mat’);
disp(matFileF16);
% Check the contents of missile.mat
matFileMissile = load(‘missile.mat’);
disp(matFileMissile);
V: [2537×3 double]
F: [4428×3 double]
C: [2537×1 double]
V: [3902×3 double]
F: [7426×3 double]
C: [3902×1 double]"""
*
# * bold*% Load and process the .txt files
data_enemy = readtable(‘target_2.txt’, ‘VariableNamingRule’, ‘preserve’); % Target data
data_aam = readtable(‘missile_2.txt’, ‘VariableNamingRule’, ‘preserve’); % Missile data
% Extract relevant columns: position (x, y, z) and angular data (phi, theta, psi)
trajectory_enemy = [data_enemy.tgtpos_x, data_enemy.tgt_pos_y, data_enemy.tgt_pos_z, …
data_enemy.tgt_phi, data_enemy.tgt_theta, data_enemy.tgt_psi];
% Time vector for the enemy (target) data
time_enemy = 1:size(trajectory_enemy, 1);
% Time vector for the missile data
time_aam = linspace(1, size(trajectory_enemy, 1), size(data_aam, 1));
% Interpolate missile data to match the target data size
trajectory_aam_interp = interp1(time_aam, [data_aam.Msl_pos_x, data_aam.Msl_pos_y, data_aam.Msl_pos_z, …
data_aam.Msl_phi, data_aam.Msl_theta, data_aam.Msl_psi], …
time_enemy);
% Verify data array sizes
disp(‘Size of target trajectory:’);
disp(size(trajectory_enemy));
disp(‘Size of interpolated missile trajectory:’);
disp(size(trajectory_aam_interp));
% Save interpolated data to .mat files for use in flypath
save(‘enemy_trajectory.mat’, ‘trajectory_enemy’);
save(‘aam_trajectory.mat’, ‘trajectory_aam_interp’);
% Create 3D models with appropriate scaling
new_object(‘enemy.mat’, trajectory_enemy, …
‘model’, ‘f-16.mat’, ‘edge’, [.4 .4 .4], ‘face’, [.6 .6 .6], …
‘path’, ‘on’, ‘pathcolor’, [.3 .3 .3], ‘pathwidth’, 1, ‘scale’, 0.0005);
new_object(‘aam.mat’, trajectory_aam_interp, …
‘model’, ‘missile.mat’, ‘edge’, [.2 .2 .2], ‘face’, [.3 .3 .3], …
‘path’, ‘on’, ‘pathcolor’, [.89 .47 .0], ‘pathwidth’, 1, ‘scale’, 0.0005);
disp(‘Checking dimensions of loaded matrices…’);
load(‘enemy.mat’);
disp(size(trajectory_enemy));
load(‘aam.mat’);
disp(size(trajectory_aam_interp));
flypath(‘enemy.mat’, ‘aam.mat’, …
‘animate’, ‘on’, ‘step’, 10, …
‘font’, ‘Arial’, ‘fontsize’, 12, …
‘view’, [45, 30], ‘window’, [800, 600], …
‘output’, ‘trajectory_animation.mp4’, …
‘xlim’, [-10000, 10000], …
‘ylim’, [-10000, 15000], …
‘zlim’, [-1500, 2000]);
Here is flypath function code *****%
% FLYPATH (flypath.m)
%
% Displays static and animated trajectories of missiles and air targets
%
% SYNTAX:
%
% flypath(object_1,object_2,…,object_n,varargin)
%
% PARAMETERS:
%
% object_x : object data set produced by ‘new_object’ function,
% use command ‘help new_object’ to get more information
%
% OPTIONAL ARGUMENTS:
%
% ‘animate’ : animation on/off (‘on’,’off’ – default ‘off’)
% ‘axis’ : axes visibility (‘on’,’off’ – default ‘on’)
% ‘axiscolor’ : axes and axes font color ([R G B] – default [0 0 0])
% ‘color’ : display area color ([R G B] – default [1 1 1])
% ‘dpi’ : dpi value (75,150,300,600 – default 150)
% ‘font’ : font name (string – default ‘Times New Roman’)
% ‘fontsize’ : font size (default 12)
% ‘output’ : output file name (string – default ‘none’)
% ‘step’ : model repetition density (default 10)
% ‘view’ : camera view angles ([azimuth elevation] – default [15 30])
% ‘window’ : display area size ([width height] – default [800 600])
% ‘xlim’ : x axes limits ([min max] or ‘off’ – default ‘off’)
% ‘ylim’ : y axes limits ([min max] or ‘off’ – default ‘off’)
% ‘zlim’ : x axes limits ([min max] or ‘off’ – default ‘off’)
%
% EXAMPLES OF USE:
%
% trajectory = load(‘trajectory_tbm.mat’);
% new_object(‘ballistic_missile.mat’,trajectory,…
% ‘model’,’scud.mat’,’scale’,5,…
% ‘path’,’on’,’pathcolor’,[.89 .0 .27]);
% flypath(‘ballistic_missile.mat’,…
% ‘animate’,’off’,’step’,30,…
% ‘axis’,’on’,’axiscolor’,[0 0 0],’color’,[1 1 1],…
% ‘font’,’Georgia’,’fontsize’,6,…
% ‘view’,[0 0],’window’,[1800 600],…
% ‘xlim’,[-2e4 16e4],’ylim’,[-10 10],’zlim’,[0 4e4],…
% ‘output’,’tbm_example.png’,’dpi’,600);
%
function flypath(varargin)
objCount = 0;
% — check input parameters —
if nargin < 1
error(‘Not enough input parameters!’);
end;
% — default input parameters —
pAnimate = ‘off’; % animation: ‘on’,’off’
pAxis = ‘on’; % axes visibility: ‘on’,’off’
pAxisColor = [ 0 0 0 ]; % axes and axes font color: [ R G B ]
pColor = [ 1 1 1 ]; % display area color: [ R G B ]
pDpi = 150; % dpi value: 75, 150, 300, 600
pFont = ‘Times New Roman’; % font name
pFontSize = 12; % font size
pOutput = ‘none’; % output filename or ‘none’
pStep = 10; % model repetition density
pView = [ 15 30 ]; % camera view angles: [ azimuth elevation ]
pWindow = [ 800 600 ]; % display area size (in pixels)
pXLim = ‘off’; % x axes limits ([min max] or ‘off’ – default ‘off’)
pYLim = ‘off’; % y axes limits ([min max] or ‘off’ – default ‘off’)
pZLim = ‘off’; % z axes limits ([min max] or ‘off’ – default ‘off’)
% — read input parameters —
i = 1;
while i <= length(varargin)
switch lower(varargin{i})
case ‘animate’
pAnimate = varargin{i+1};
i = i + 2;
case ‘axis’
pAxis = varargin{i+1};
i = i + 2;
case ‘axiscolor’
pAxisColor = varargin{i+1};
i = i + 2;
case ‘color’
pColor = varargin{i+1};
i = i + 2;
case ‘dpi’
pDpi = varargin{i+1};
i = i + 2;
case ‘font’
pFont = varargin{i+1};
i = i + 2;
case ‘fontsize’
pFontSize = varargin{i+1};
i = i + 2;
case ‘output’
pOutput = varargin{i+1};
i = i + 2;
case ‘step’
pStep = varargin{i+1};
i = i + 2;
case ‘view’
pView = varargin{i+1};
i = i + 2;
case ‘window’
pWindow = varargin{i+1};
i = i + 2;
case ‘xlim’
pXLim = varargin{i+1};
i = i + 2;
case ‘ylim’
pYLim = varargin{i+1};
i = i + 2;
case ‘zlim’
pZLim = varargin{i+1};
i = i + 2;
otherwise
if exist(varargin{i},’file’) == 2
objCount = objCount + 1;
else
error(‘file %s does not exist!’,varargin{i});
end
i = i + 1;
end
end;
% — object loader —
i = 1;
while i <= objCount
% — load data to tmp variable —
tmp = load(varargin{i});
% — add data to obj structure —
if size(tmp.pMatrix,1) < size(tmp.pMatrix,2)
obj(i).matrix = tmp.pMatrix’;
else
obj(i).matrix = tmp.pMatrix;
end;
obj(i).face = tmp.pFace;
obj(i).edge = tmp.pEdge;
obj(i).alpha = tmp.pAlpha;
obj(i).path = tmp.pPath;
obj(i).pathcolor = tmp.pPathColor;
obj(i).pathwidth = tmp.pPathWidth;
obj(i).scale = tmp.pScale;
% — add 3d model to the structure —
tmp = load(tmp.pModel);
obj(i).v(:,1) = -1 * obj(i).scale * tmp.V(:,1);
obj(i).v(:,2) = 1 * obj(i).scale * tmp.V(:,2);
obj(i).v(:,3) = 1 * obj(i).scale * tmp.V(:,3);
obj(i).f = tmp.F;
% — increment counter —
i = i + 1;
end;
% — check matrix sizes —
sizeCounter = 0;
maxLength = size(obj(1).matrix,1);
if objCount > 1
i = 2;
while i <= objCount
if size(obj(i).matrix,1) ~= maxLength
sizeCounter = sizeCounter + 1;
end;
i = i + 1;
end;
if sizeCounter > 0
warning(‘data array sizes are different!’);
warning(‘data cutted to the smallest matrix dimension’);
i = 1;
maxLength = 9e100;
while i <= objCount
if size(obj(i).matrix,1) < maxLength
maxLength = size(obj(i).matrix,1);
end
i = i + 1;
end;
end;
end
% — check step size —
if pStep >= maxLength
warning(‘step size is equal or greather than max length of data array!’);
warning(‘default step value used’);
pStep = 10;
end;
% — prepare display area —
fig = figure(1);
set(fig,…
‘Name’,’flypath3d’,…
‘NumberTitle’,’off’,…
‘MenuBar’,’none’,…
‘ToolBar’,’figure’,…
‘Pointer’,’crosshair’,…
‘Position’,[50 50 pWindow(1) pWindow(2)],…
‘Color’,pColor);
set(gca,…
‘FontName’,pFont,…
‘Color’,pColor,…
‘XColor’,pAxisColor,…
‘YColor’,pAxisColor,…
‘ZColor’,pAxisColor,…
‘FontSize’,pFontSize);
clf(fig);
hold on;
% — animate —
for i = 1:pStep:maxLength
% — prepare new frame for animation —
if strcmp(pAnimate,’on’) == 1
clf(fig);
hold on;
end;
set(gca,…
‘FontName’,pFont,…
‘Color’,pColor,…
‘XColor’,pAxisColor,…
‘YColor’,pAxisColor,…
‘ZColor’,pAxisColor,…
‘FontSize’,pFontSize);
% — draw scene —
for j = 1:1:objCount
theta = obj(j).matrix(i,4);
psi = obj(j).matrix(i,5) – pi/2;
phi = -1 * obj(j).matrix(i,6);
% — transformation matrix —
sinTheta = sin(theta);
cosTheta = cos(theta);
sinPsi = sin(psi);
cosPsi = cos(psi);
sinPhi = sin(phi);
cosPhi = cos(phi);
transformMatrix = [ …
cosPsi * cosTheta …
-sinPsi * cosTheta …
sinTheta; …
cosPsi * sinTheta * sinPhi + sinPsi * cosPhi …
-sinPsi * sinTheta * sinPhi + cosPsi * cosPhi …
-cosTheta * sinPhi; …
-cosPsi * sinTheta * cosPhi + sinPsi * sinPhi …
sinPsi * sinTheta * cosPhi + cosPsi * sinPhi …
cosTheta * cosPhi ];
vertices = obj(j).v * transformMatrix;
objectSet = [ obj(j).matrix(i,1) obj(j).matrix(i,2) obj(j).matrix(i,3) ];
delta = repmat( objectSet, size( vertices, 1 ), 1 );
vertices = vertices + delta;
objPath = patch( ‘faces’, obj(j).f, ‘vertices’, vertices );
set(objPath, …
‘FaceColor’,obj(j).face,…
‘FaceAlpha’,obj(j).alpha,…
‘EdgeColor’,obj(j).edge );
if strcmp(obj(j).path,’on’) == 1
plot3(obj(j).matrix(1:i,1),…
obj(j).matrix(1:i,2),…
obj(j).matrix(1:i,3),…
‘Color’, obj(j).pathcolor, …
‘LineWidth’, obj(j).pathwidth, …
‘LineStyle’, ‘-‘);
end;
end;
% — display parameters —
if strcmp(pXLim,’off’) ~= 1
xlim( pXLim );
end
if strcmp(pYLim,’off’) ~= 1
ylim( pYLim );
end
if strcmp(pZLim,’off’) ~= 1
zlim( pZLim );
end
xlabel(‘x [m]’);
ylabel(‘y [m]’);
zlabel(‘z [m]’);
if strcmp(pAxis,’on’) == 1
axis on;
axis square;
grid on;
else
axis off;
axis square;
grid off;
end;
lighting phong;
daspect([1 1 1]);
view( pView );
if strcmp(pAnimate,’on’) == 1
drawnow;
end;
% — save the results to the gif file —
if strcmp(pAnimate,’on’) == 1
if strcmp(pOutput,’none’) ~= 1
frame = getframe(1);
im = frame2im(frame);
[A,map] = rgb2ind(im,256);
if i == 1;
imwrite(A,map,pOutput,’gif’,’LoopCount’,Inf,’DelayTime’,.04);
else
imwrite(A,map,pOutput,’gif’,’WriteMode’,’append’,’DelayTime’,.04);
end;
end;
end;
end;
if strcmp(pAnimate,’off’) == 1
if strcmp(pOutput,’none’) ~= 1
switch(pDpi)
case 75
eval(sprintf(‘print -dpng -r75 %s;’, pOutput));
case 150
eval(sprintf(‘print -dpng -r150 %s;’, pOutput));
case 300
eval(sprintf(‘print -dpng -r300 %s;’, pOutput));
case 600
eval(sprintf(‘print -dpng -r600 %s;’, pOutput));
otherwise
eval(sprintf(‘print -dpng -r600 %s;’, pOutput));
end;
end;
end;
end**** Where I’m getting wrong please suggest me and I have given all .matfiles data . Where I’m getting issue I want 3d models animation @matlab MATLAB Answers — New Questions
Word can now convert pdfs to docx online – how private/secure is this?
I’ve just noticed this new function – what service does Word use to do this and how private/secure is this?
I’ve just noticed this new function – what service does Word use to do this and how private/secure is this? Read More
Click disp() in the Icon Drawing Commands palette to add the command to the editable region.
Open the Mask Editor dialog and navigate to the Icon tab.
Click disp() in the Icon Drawing Commands palette to add the command to the editable region.
Replace the sample text with the variable from the previous task, label.
In the Property Editor at right, Change Run initialization to On.
Save the mask.Open the Mask Editor dialog and navigate to the Icon tab.
Click disp() in the Icon Drawing Commands palette to add the command to the editable region.
Replace the sample text with the variable from the previous task, label.
In the Property Editor at right, Change Run initialization to On.
Save the mask. Open the Mask Editor dialog and navigate to the Icon tab.
Click disp() in the Icon Drawing Commands palette to add the command to the editable region.
Replace the sample text with the variable from the previous task, label.
In the Property Editor at right, Change Run initialization to On.
Save the mask. display MATLAB Answers — New Questions
Rejected stereo image pairs in Stereo Camera Calibrator App
Hello all,
I’m trying to use the “Stereo Camera Calibrator App”.
I’m trying to import four pairs of images, but it only accepts one pair and rejects the other three. I followed the advice from the camera preparation page, but it didn’t do any good. I have no clue why it rejects most of the image pairs.
Please see the attached four images of each camera (left and right). The checkerboard size is 3 mm.
Thank you.Hello all,
I’m trying to use the “Stereo Camera Calibrator App”.
I’m trying to import four pairs of images, but it only accepts one pair and rejects the other three. I followed the advice from the camera preparation page, but it didn’t do any good. I have no clue why it rejects most of the image pairs.
Please see the attached four images of each camera (left and right). The checkerboard size is 3 mm.
Thank you. Hello all,
I’m trying to use the “Stereo Camera Calibrator App”.
I’m trying to import four pairs of images, but it only accepts one pair and rejects the other three. I followed the advice from the camera preparation page, but it didn’t do any good. I have no clue why it rejects most of the image pairs.
Please see the attached four images of each camera (left and right). The checkerboard size is 3 mm.
Thank you. image processing, stereo camera calibrator app MATLAB Answers — New Questions
Calculate the normal vector between two nodes in the space
Hi! I have two nodes A and B. These are positioned in space with the same value of X and Y but different Z. The normal in this case would be n=[0 0 1] (red plane parallel to the XY plane).
I would like to calculate the normal n ‘green’ in the case of nodes A and C. Is this possible?
A = [-33.24 -10.70 7.41];
B = [A(1,1), A(1,2), A(1,3)+5];
N = [A;B];
C = [A(1,1), A(1,2)+7, A(1,3)+5];
NN = [A;C];
figure
plot3(A(1,1),A(1,2),A(1,3),’k.’,’Markersize’,30);
hold on
plot3(B(1,1),B(1,2),B(1,3),’r.’,’Markersize’,30);
plot3(C(1,1),C(1,2),C(1,3),’g.’,’Markersize’,30);
plot3(N(:,1),N(:,2),N(:,3),’-k’,’LineWidth’,1);
plot3(NN(:,1),NN(:,2),NN(:,3),’-k’,’LineWidth’,1);
hold off
axis equal
(YZ view)Hi! I have two nodes A and B. These are positioned in space with the same value of X and Y but different Z. The normal in this case would be n=[0 0 1] (red plane parallel to the XY plane).
I would like to calculate the normal n ‘green’ in the case of nodes A and C. Is this possible?
A = [-33.24 -10.70 7.41];
B = [A(1,1), A(1,2), A(1,3)+5];
N = [A;B];
C = [A(1,1), A(1,2)+7, A(1,3)+5];
NN = [A;C];
figure
plot3(A(1,1),A(1,2),A(1,3),’k.’,’Markersize’,30);
hold on
plot3(B(1,1),B(1,2),B(1,3),’r.’,’Markersize’,30);
plot3(C(1,1),C(1,2),C(1,3),’g.’,’Markersize’,30);
plot3(N(:,1),N(:,2),N(:,3),’-k’,’LineWidth’,1);
plot3(NN(:,1),NN(:,2),NN(:,3),’-k’,’LineWidth’,1);
hold off
axis equal
(YZ view) Hi! I have two nodes A and B. These are positioned in space with the same value of X and Y but different Z. The normal in this case would be n=[0 0 1] (red plane parallel to the XY plane).
I would like to calculate the normal n ‘green’ in the case of nodes A and C. Is this possible?
A = [-33.24 -10.70 7.41];
B = [A(1,1), A(1,2), A(1,3)+5];
N = [A;B];
C = [A(1,1), A(1,2)+7, A(1,3)+5];
NN = [A;C];
figure
plot3(A(1,1),A(1,2),A(1,3),’k.’,’Markersize’,30);
hold on
plot3(B(1,1),B(1,2),B(1,3),’r.’,’Markersize’,30);
plot3(C(1,1),C(1,2),C(1,3),’g.’,’Markersize’,30);
plot3(N(:,1),N(:,2),N(:,3),’-k’,’LineWidth’,1);
plot3(NN(:,1),NN(:,2),NN(:,3),’-k’,’LineWidth’,1);
hold off
axis equal
(YZ view) normal, vector MATLAB Answers — New Questions
my Simcape Electrical model does not want to wire the reference (earth ) block
As you see below the reference block desnot want to connect to the volatge source or any other block. I am using MATLAB R2023b academic version. Can someone give me a clue what I have to look atAs you see below the reference block desnot want to connect to the volatge source or any other block. I am using MATLAB R2023b academic version. Can someone give me a clue what I have to look at As you see below the reference block desnot want to connect to the volatge source or any other block. I am using MATLAB R2023b academic version. Can someone give me a clue what I have to look at r2023b MATLAB Answers — New Questions