Call a Matrix inside another Script

조회 수: 14 (최근 30일)
Laurel Castillo
Laurel Castillo 2018년 12월 10일
편집: Stephen23 2018년 12월 10일
I want to achieve:
1. psm_q is a script.
2. When I am in main.m, type
psm_q;
psm_q will be shown in the workspace as a 6*1 matrix with values defined in psm_q.m
Let's say the 6*1 matrix of psm_q is [pi/3; pi/3; 0.1; pi/3; pi/3; pi/3], what should I code in psm_q?
I tried typing in psm_q:
[pi/3; pi/3; 0.1; pi/3; pi/3; pi/3]
,
[q1=pi/3;
q2=pi/3;
q3=0.1;
q4=pi/3;
q5=pi/3;
q6=pi/3]
and
function [q1,q2,q3,q4,q5,q6]=psm_q()
q1=pi/3;
q2=pi/3;
q3=0.1;
q4=pi/3;
q5=pi/3;
q6=pi/3;
end
but they all don't work as expected.
Please help.
  댓글 수: 1
Stephen23
Stephen23 2018년 12월 10일
Numbered variables are a sign that you are doing something wrong. Sitck to using arrays if you want to make your code simpler and more efficient.

댓글을 달려면 로그인하십시오.

채택된 답변

madhan ravi
madhan ravi 2018년 12월 10일
편집: madhan ravi 2018년 12월 10일
Just call it in the main.m script
function psm_q=psm_q_func()
q1=pi/3;
q2=pi/3;
q3=0.1;
q4=pi/3;
q5=pi/3;
q6=pi/3;
psm_q=[q1 q2 q3 q4 q5 q6].';
end
  댓글 수: 4
Stephen23
Stephen23 2018년 12월 10일
편집: Stephen23 2018년 12월 10일
Simpler without transpose:
psm_q = [q1; q2; q3; q4; q5; q6];
or even better:
function out = psm_q_func()
out = [pi/3; pi/3; 0.1; pi/3; pi/3; pi/3];
end
madhan ravi
madhan ravi 2018년 12월 10일
Thank you @Stephen :)

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Stephen23
Stephen23 2018년 12월 10일
편집: Stephen23 2018년 12월 10일
Actually all you need in your script is this:
psm_q = [pi/3; pi/3; 0.1; pi/3; pi/3; pi/3];

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by