MATLAB问题
一个灰度图像有9个像素
A=[1 2 3
4 5 6
7 8 9]
一个逻辑矩阵和A一样大
B=[1 0 0
0 1 0
1 0 1]
现在要把B中为1的位置,对应的A中的位置的像素显示为红色,只要最后看起来是红的就行。
用repmat函数把双通道图转成三通道图,然后把想换颜色的像素点的第三个通道的值改了就能显示成彩色了
<1>四则运算
符号表达式的四则运算与数值运算一样,用+、-、*、/
运算符实现,其运算结果依然是一个符号表达式。
<2>关系运算
<、<=、>、>=、==、~=
。lt()、le()、gt()、ge()、ge()、eq()、ne()
。若参与运算的是符号表达式
,其结果是一个符号关系表达式
;若参与运算的是符号矩阵
,其结果是由符号关系表达式组成的矩阵。
在进行符号对象的运算前,可用assume
函数对符号对象设置域,函数调用格式为:assume(condition)
assume(expr, set)
第一种格式指定变量满足条件condition,第二种格式指定表达式expr属于set
<3>逻辑运算
&(与)、|(或)和~(非)
and()、or()、not()和xor()
<4>因式分解与展开运算
MATLAB提供了对符号表达式进行因式分解、展开、合并的函数,函数的调用格式为:fator(s)
:对符号表达式s分解因式。
expand(s)
:对符号表达式s进行展开。collect(s)
:对符号表达式s合并同类项。collect(s, v)
:对符号表达式s按变量v合并同类项。
<5>其他计算
[n, d]=numden(s)
c=coeffs(s, x)
simplify(s)
p=sym2poly(s)
s=ploy2sum()
例子:
<6>符号运算中变量的确定
如果没有明确指定自变量,MATLAB将按以下原则确定主变量并对其进行相应运算:
寻找除了i、j之外,在字母顺序上最接近x的小写字母。
若表达式中有两个符号变量与x的距离相等,则ASCII码大者优先。
symvar()
函数可以用于查找一个符号表达式中的符号变量,函数的调用格式为:symvar(s,n)
。函数返回符号符号表达式s中的n个符号变量。因此,可以用symvar(s, 1)
查找表达式s的主变量。