How to create 3d array equivalent to fortran dimension?

4 vues (au cours des 30 derniers jours)
adi kul
adi kul le 16 Mai 2016
Hello all, I have this fortran code
dimension x(2,m,n)
where m=100, n=40 Now how to convert this into the matlab?

Réponse acceptée

Jan
Jan le 16 Mai 2016
Perhaps you mean:
x = zeros(2, m, n)
  2 commentaires
adi kul
adi kul le 16 Mai 2016
Thank you. It does create 2XmXn array but this gives zeros of the defined size matrix
In fortran this is not the case. Please guide.
adi kul
adi kul le 16 Mai 2016
Sorry. This helped me. Thank you. Now I am facing a new issue.
My fortran code says
j=1,m
g(j) = t(k,i,j)*dcos(anglezx) - t(j)*dsin(anglezx)
How can I do this 3d multiplication in 1d in matlab. If I use this as it is I get size error for g(j) as matlab cosiders it as 1x1 while my t(k,i,j) is a 2xmxn sized matrix.

Connectez-vous pour commenter.

Plus de réponses (1)

Farrukh Mazhar
Farrukh Mazhar le 20 Fév 2019
this code probably is wrong the correct Fortran code would be like
do k=1,aa
do i=1,n
do j=1,m
g(j) = t(k,i,j)*dcos(anglezx) - t(j)*dsin(anglezx)
enddo
enddo
enddo
Please change to
for k=1:aa
do i=1:n
do j=1:m
g(k,j,i) = t(k,i,j)*dcos(anglezx) - t(j)*dsin(anglezx)
end
end
end

Catégories

En savoir plus sur Fortran with MATLAB dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by