Complete expression for matrix operator

2 次查看(过去 30 天)
When I change a paraenthesis to bracket I recieve an error, but when I use brackets I recieve another error
Parathesis:
File: untitled.m Line: 51 Column: 34
Invalid expression. Check for missing multiplication operator, missing or unbalanced delimiters, or
other syntax error. To construct matrices, use brackets instead of parentheses.
Brackets:
% check this, which depth level do you want?
% Which is the surface and which is the bottom?
% are the layers a consistent depth?
% this info should be in some supporting document on CMEMS
depth=ncread(fullfile(fp,'June2021.nc'),'depth');
% change this depending on how many vertical levels you need to calculate
% if you want lots of depth layers you'll need to amend the loop below
% this is an example, pulling out the second depth layer
nz=2;
% change this to how many years you want to run this loop over
ystart=1972;
yend=2022;
nyear=yend-ystart+1
for yi=1:nyear
ny=ystart+yi-1
filename=[fullfile(fp,'June' num2str(ny) '.nc')];
Invalid expression. Check for missing multiplication operator, missing or unbalanced delimiters, or other syntax error. To construct matrices, use brackets instead of parentheses.
u1 = ncread(filename,'uo',[1 1 nz 1],[length(lon) length(lat) 1 ntime]);
v1 = ncread(filename,'uo',[1 1 nz 1],[length(lon) length(lat) 1 ntime]);
% if you want monthly averages, do this
% note this will end up a different dimension if you're extracting
% multiple layers
% might want to predefine these matrices depending on what you want
% https://uk.mathworks.com/help/matlab/ref/mean.html
u2(:,:,yi)=mean(u1,[4]); whos u2
v2(:,:,yi)=mean(v1,[4]);
end
% then take the mean to get the mean over all the years, for one depth
% layer only, remember
u3=mean(u2,[3]); %taking the mean over the third dimension
v3=mean(u2,[3]);
% calculate the magnitude of the vel and plot
uv4=sqrt(u3.^2+v3.^2);
close all, pcolor(LON,LAT,uv4.'), shading flat, colorbar

采纳的回答

Mrutyunjaya Hiremath
use like this
filename= fullfile(fp,['June', num2str(ny), '.nc']);
  2 个评论
Madison
Madison 2023-7-19
Thank you, I was able to fix this anwser, but recieved an error in the following line.
Error in untitled (line 52)
u1 = ncread(fullfile(filename,'uo',[1 1 nz 1],[length(lon) length(lat) 1 ntime]));
for yi=1:nyear
ny=ystart+yi-1
filename=fullfile(fp,['June' num2str(ny) '.nc']);
u1 = ncread(fullfile(filename,'uo',[1 1 nz 1],[length(lon) length(lat) 1 ntime]));
v1 = ncread(fullfilefilename,'uo',[1 1 nz 1],[length(lon) length(lat) 1 ntime]);
% if you want monthly averages, do this
% note this will end up a different dimension if you're extracting
% multiple layers
% might want to predefine these matrices depending on what you want
% https://uk.mathworks.com/help/matlab/ref/mean.html
u2(:,:,yi)=mean(u1,[4]); whos u2
v2(:,:,yi)=mean(v1,[4]);
end
% then take the mean to get the mean over all the years, for one depth
% layer only, remember
u3=mean(u2,[3]); %taking the mean over the third dimension
v3=mean(u2,[3]);
% calculate the magnitude of the vel and plot
uv4=sqrt(u3.^2+v3.^2);
close all, pcolor(LON,LAT,uv4.'), shading flat, colorbar
Dyuman Joshi
Dyuman Joshi 2023-7-19
编辑:Dyuman Joshi 2023-7-19
Please copy and paste the full error message i.e. all of the red text.
Also, you are missing a set of parenthesis in the definition of variable v1.
% v v
v1 = ncread(fullfile(filename,'uo',[1 1 nz 1],[length(lon) length(lat) 1 ntime]));

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Line Plots 的更多信息

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by