char combining error: Matrix dimensions must agree. - SIMPLE SCRIPT

7 views (last 30 days)
I am importing a large quantity of .dat files. I get this error even when running an apparently simple code:
clear all
clc
n='20000'
u='u2DSolution'+n+'.dat'
Error:
Matrix dimensions must agree.
Error in Untitled (line 5)
u='u2DSolution'+n+'.dat'
  1 Comment
Stephen23
Stephen23 on 4 Jan 2019
"I get this error even when running an apparently simple code:"
It is simple code: you are adding the character codes of some character vectors. Just like with numeric vectors if they have incompatible sizes then you will get an error.
You probably want to concatenate those character vectors, rather than add their chracter codes.

Sign in to comment.

Answers (2)

Steven Lord
Steven Lord on 4 Jan 2019
The + operator performs concatenation if one of the things you're "adding" together is a string array.
n = 20000;
u = "u2DSolution" + n + ".dat"
The + operator when called with char arrays (no string arrays involved) performs arithmetic if the inputs are compatibly sized.
b = 'a' + 1 % double('b') which you can check with
characterB = char(b)

madhan ravi
madhan ravi on 4 Jan 2019
n='20000'
u=['u2DSolution',n,'.dat']

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!