找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1079|回复: 13

[LISP程序]:矩阵问题

[复制链接]
发表于 2005-11-17 17:43:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
请教一问题"怎样让连续输出的结果自动换行"如我想输出一矩阵时当矩阵的一行输出完了,我就想在另一行里输出矩阵的下一行
请帮看下:
(defun zero (n / i j row array)
  (setq array '())
  (setq i 1)
  (while (<= i n)
    (setq row '())
    (setq j 1)
    (while (<= j n)
      (setq row (cons (cons j 0) row))
      (setq j (1+ j))
      )
    (setq array (cons (list i (reverse row)) array))  
    (setq i (1+ i))
   )
  (reverse array)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-11-17 19:13:25 | 显示全部楼层
  1. [FONT=courier new]
  2. (defun zero (n / i j row)
  3.   (setq        ar '()
  4.         i  1
  5.   )
  6.   (while (<= i n)
  7.     (setq row '()
  8.           j   1
  9.     )
  10.     (while (<= j n)
  11.       (setq row        (cons (cons j 0) row)
  12.             j        (1+ j)
  13.       )
  14.     )
  15.     (setq ar1 (list i (reverse row))
  16.           ar  (cons ar1 ar)
  17.           i   (1+ i)
  18.     )
  19.     (princ "\n")
  20.     (princ ar1)
  21.   )
  22.   (reverse ar)
  23.   (princ)
  24. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-18 09:10:49 | 显示全部楼层
谢谢版主, 版主能解释下几"princ"函数是怎样起作用的吗
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-18 11:42:16 | 显示全部楼层
呵~~
我来借花献佛吧!

princ :在命令行打印表达式,或将表达式写入已打开的文件

(princ [expr [file-desc]])
本函数的功能和prin1函数几乎相同,但本函数将使用expr中的控制字符的功能,而不是照原样打印它们。一般,prin1打印表达式的方式与load 函数兼容,而princ打印的表达式则可以被 read-line 等函数读取。

参数:
expr      字符串或AutoLISP 表达式,仅打印指定的 expr,而不包括换行或空格。
file-desc   以写方式打开的文件的文件描述符。

返回值:
expr的值,如果不带参数调用该函数,则princ返回空符号。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-21 13:54:24 | 显示全部楼层
谢谢
我的意思是三个"princ"是怎么样起到了把零矩阵分行打印出来的,
那位大侠能指教!!!!!!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-21 18:12:11 | 显示全部楼层
(princ "\n")  ;; \n是分行
(princ xxx)

以上效果同
(print xxx)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-21 18:43:56 | 显示全部楼层
谢谢楼主!!!!!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-21 19:47:59 | 显示全部楼层
我是lsp初学者,高手门给点心得把
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-21 20:00:37 | 显示全部楼层
我不是高手,也来说一下自己学习的心得吧,就是多动手,多思考。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-21 20:58:46 | 显示全部楼层
[php](defun zero (n / i j row)
  (setq        ar '()
        i  1
  )
  (while (<= i n)
    (setq row '()
          j   1
    )
    (while (<= j n)
      (setq row        (cons (cons j 0) row)
            j        (1+ j)
      )
    )
    (setq ar1 (list i (reverse row))
          ar  (cons ar1 ar)
          i   (1+ i)
    )
    (princ "\n");换行
    (princ ar1);显示ar1的值
  )
  (reverse ar)
  (princ);禁止回显
)[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-21 21:09:06 | 显示全部楼层
高见
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-21 22:38:10 | 显示全部楼层
既然大家有兴趣,我也陪大家玩一把.
换个写法---"一般人我不告诉他~~"

  1.   [FONT=courier new]
  2. (defun xn (n a / lst)
  3.   (repeat n
  4.      (setq lst (cons ((if (listp a) list cons) n a) lst)
  5.            n  (1- n))
  6.   )
  7.   lst
  8. )
  9. (defun c:tt ()
  10.   (mapcar 'print (xn 4 (xn 4 0)))
  11.   (princ)
  12. )
  13.   [/FONT]

测试:
;|
_$ (c:tt)
(1 ((1 . 0) (2 . 0) (3 . 0) (4 . 0)))
(2 ((1 . 0) (2 . 0) (3 . 0) (4 . 0)))
(3 ((1 . 0) (2 . 0) (3 . 0) (4 . 0)))
(4 ((1 . 0) (2 . 0) (3 . 0) (4 . 0)))
|;

  1.   [FONT=courier new]
  2. (defun c:tt2 ()
  3.   (mapcar 'print (xn 5 (xn 3 0)))
  4.   (princ)
  5. )
  6.   [/FONT]

;|
_$ (c:tt2)
(1 ((1 . 0) (2 . 0) (3 . 0)))
(2 ((1 . 0) (2 . 0) (3 . 0)))
(3 ((1 . 0) (2 . 0) (3 . 0)))
(4 ((1 . 0) (2 . 0) (3 . 0)))
(5 ((1 . 0) (2 . 0) (3 . 0)))
_$
|; 
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-12-9 20:02:49 | 显示全部楼层
谁会矩阵求逆的程序,急用!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-12-11 02:19:09 | 显示全部楼层
用“矩阵"搜索一下网站,你可以找到矩阵求逆的程序
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-28 22:04 , Processed in 0.204042 second(s), 58 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表