Hi I'm very new to matlab and was wondering if there was a way to code all of this within just one for loop

 採用された回答

KSSV
KSSV 2020 年 8 月 12 日
編集済み: KSSV 2020 年 8 月 12 日

0 投票

This single loop is fine enough:
N = length(v_x) ;
xpos = zeros(N-1,1) ;
xpos(1) = 4 ;
for i = 2:N-1
xpos(i) = v_x(i)*(t(i)-t(i-1))+xpos(i-1) ;
endfor

3 件のコメント

Benedict Comerford
Benedict Comerford 2020 年 8 月 12 日
HI KSSV
Thanks for your heap I tried your code but it kept coming up with an error
Error: File: untitled3.m Line: 16 Column: 52
Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for
mismatched delimiters.
KSSV
KSSV 2020 年 8 月 12 日
There is a typo error....edited the answer. There was one extra paranthesis '('
Benedict Comerford
Benedict Comerford 2020 年 8 月 12 日
Thank you so much that was a great help

サインインしてコメントする。

その他の回答 (1 件)

Akira Agata
Akira Agata 2020 年 8 月 12 日

0 投票

No need to use for-loop. How about the following way?
% Read data file
T1 = readtable('A1_input.txt');
% Postion of (x,y) at time = 0
x0 = 4;
y0 = 0;
% Calculate the position for each time step
xPos = cumtrapz(T1.time, T1.vx) + x0;
yPos = cumtrapz(T1.time, T1.vx) + y0;

1 件のコメント

Benedict Comerford
Benedict Comerford 2020 年 8 月 12 日
HI Akira
Thanks for that Sadly one of the requirements for my code is that it must be a for loop.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by