博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scilab工具箱的初步开发和使用
阅读量:2066 次
发布时间:2019-04-29

本文共 1909 字,大约阅读时间需要 6 分钟。

  
题】:
Scilab
工具箱的初步开发和使用
【关键字】:
Scilab
Scilab
工具箱的初步开发和使用
大家一般都是比较熟悉
Matlab
,但是有些时候下必须使用其它的软件
比如,如果没有授权的
Matlab,VC
,与一些同行交流时
而且,我们越来越依赖于几个商业软件了
长此以往,我们就被套在
Matlab
上了
好在开源人士和一些开明的团体
提供了一些别的选择,
GNU
Octave,
语法和
Matlab
差不多,不过工具箱很少,开发也不是很活跃
感觉上
GNU
不能在方方面面都做到最好
法国国立自动化研究所开发了
Scilab
,它的应用越来越广了
尤其在中科院自动化所的中法联合实验室的推广下
Scilab
的工具箱有一些,但是还是太少
比较实用的有图像处理工具箱
SIP
,是由巴西人写的
包含了一个很有用的工具集
中科院的几个研究生也写了一个视频和图像处理的工具箱
不过,他们用到了
Intel
opencv
,这在
FreeBSD
下是没有的
因此对
BSD
一族真是扼腕痛惜的事
前几天装了一下
SIP
delphij
建议写个
port
目前太懒,正在做一个图像处理的项目,完了之后估计会写吧
首先要下在
ANIMAL
最新的版本
,configure
没问题
 
make
,src
目录下的大部分
C
文件都要注释掉
#include <malloc.h>
这一句
 
祥见
scilab port 
Makefile
,里面又一个替换的语句,就是针对这个情况
make install
就把库文件和一些头文件放到
/usr/local/lib/animal
 
/usr/local/include/animal
里去了
 
然后下载
Scilab Image Processing Toolbox 4.0rc-1 
make
,src
里的
sip_config.h
有一行
 UndefinedCompressQuality,
两头加上引号
"" 
unwrap_***.c
那个文件有一个变量
s,
前面的声明多打了一个字符
ulong s=0
改为
long s=0 
然后
make OK 
make install 
安装到
/usr/local/lib/scilab/contrib/sip
里面
 
起动
scilab 
exec "/usr/local/lib/scilab/contrib/sip/loader.sce" 
就起动了
SIP
新的
SIP
里有
rgb2hsv
之类的函数,有
hough
变换、
Radon
变换
真是解了我燃眉之急
在没有
Matlab
的日子里真是痛苦啊,不过一点点会过去的
最近的项目要用
wavelet
找遍了
Internet
,免费的
wavelet C
代码真是很少
做这些研究的都是只对他们的研究项目感兴趣,不想把工具箱做完善,
其实这也没什么可抱怨的,人家为什么要为你服务呢
最后发现了
GNU Scientific Library
里有
wavelet
的库
虽然也不完善,但是总比没有好
我就打算写一个接口程序,在
Scilab
里调用
GSL
的库
开始写
C
接口程序
第一个难题,写
Perl
写多了
感觉
C
约束太多
独立的写了一个程序,
C
调用没问题
但是在
scilab
里一调用就退出
scilab
里如何能
gdb
呀?:
-
于是就写
printf
给控制台发消息吧
发现传给
C
的字符参数有问题
原来是传双精度数据用
stk
,字符用
cstk
我都用了
stk
,还有,没有指定输出变量的存储开的大小
大致格式是
intgsldwt(char *fname)
{
检查输入变量,输出变量的个数
输入输入变量,检查维数
创建输出变量,给出维数,内存开多大
调用
C
程序
 gsldwt();
}
gsldwt()
{
数学运算
}
/usr/local/lib/scilab/examples/interface-tutorial-so
里拷一个
builder.sce
到当前目录
改为自己要连接的库
启动
scilab
执行
builder.sce
loader.sce
然后就可以用了
大致步骤是这样,具体还要调整
SIP
是用的
intersci
的接口
要把
C
转成
Fortran
因为
Scilab
低层是
Fortran
的,
以后也徐会写一个
intersci
的接口吧
现在麻烦点,总比以后被
matlab
卡了脖子要好啊
  

转载地址:http://owfmf.baihongyu.com/

你可能感兴趣的文章
Leetcode C++《热题 Hot 100-48》406.根据身高重建队列
查看>>
《kubernetes权威指南·第四版》第二章:kubernetes安装配置指南
查看>>
Leetcode C++《热题 Hot 100-49》399.除法求值
查看>>
Leetcode C++《热题 Hot 100-51》152. 乘积最大子序列
查看>>
[Kick Start 2020] Round A 1.Allocation
查看>>
Leetcode C++ 《第181场周赛-1》 5364. 按既定顺序创建目标数组
查看>>
Leetcode C++ 《第181场周赛-2》 1390. 四因数
查看>>
阿里云《云原生》公开课笔记 第一章 云原生启蒙
查看>>
阿里云《云原生》公开课笔记 第二章 容器基本概念
查看>>
阿里云《云原生》公开课笔记 第三章 kubernetes核心概念
查看>>
阿里云《云原生》公开课笔记 第四章 理解Pod和容器设计模式
查看>>
阿里云《云原生》公开课笔记 第五章 应用编排与管理
查看>>
阿里云《云原生》公开课笔记 第六章 应用编排与管理:Deployment
查看>>
阿里云《云原生》公开课笔记 第七章 应用编排与管理:Job和DaemonSet
查看>>
阿里云《云原生》公开课笔记 第八章 应用配置管理
查看>>
阿里云《云原生》公开课笔记 第九章 应用存储和持久化数据卷:核心知识
查看>>
linux系统 阿里云源
查看>>
国内外helm源记录
查看>>
牛客网题目1:最大数
查看>>
散落人间知识点记录one
查看>>