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 Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by