Unable to unclude special characters in the value of a parameter

1 visualización (últimos 30 días)
Nikhil Jones
Nikhil Jones el 19 de En. de 2015
Editada: per isakson el 19 de En. de 2015
Hi Guys,
I am adding a block to a pre loaded simulink system. After adding the block i need to set a specific parameter to this block of the name P and value being a dynamic value. I am using:
p = add_block('uupilib/Get data from PI-point', [par, '/', nam], 'Position', pos);
set_param(p, 'P', ['Pin(', num2str(i), ')']);
However, when i'm trying to change this to:
p = add_block('uupilib/Get data from PI-point', [par, '/', nam], 'Position', pos);
set_param(p, 'P', Pin(i).PITag);
It says "Unexpected MATLAB expression". From what i've discovered it seems that the value Pin(i).PITag contains special characters such as semi colon(;) and spaces( ). When I replace this entire string with a simple 'abc', it works again. Is there a way that i can ask MATLAB to escape these special characters?
This statement is in a loop and i here is the loop counter variable.

Respuestas (1)

A Jenkins
A Jenkins el 19 de En. de 2015
Editada: A Jenkins el 19 de En. de 2015
It used to be called genvarname().
It looks like in newer versions you are supposed to use matlab.lang.makevalidname().
I suppose you could also use regular expressions to escape only the characters you don't want.
  2 comentarios
Nikhil Jones
Nikhil Jones el 19 de En. de 2015
Well, i went through makevalidname and i guess i specifically need the function which replaces special characters with their hexadecimal representations. But I need to decode this string when i'll be reading the block parameter from the other functions. How do i do that?
A Jenkins
A Jenkins el 19 de En. de 2015
For the built in examples of how to do the replacement yourself, type doc regexprep.
There are also some people here who enjoy these puzzles for some strange reason. I bet if you put an example up (before and after of what you would like the string to be), someone would write the regular expression for you.

Iniciar sesión para comentar.

Categorías

Más información sobre Naming Conventions en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by